

SQL Server のデータベースを使用しています。  
トランザクションログではなく、テーブル内のレコードが多くなったので、不要なレコードを削除しました。(DELETE文)  
しかしmdfファイルのサイズが変わりませんでした。

そこで圧縮も試みましたが、圧縮はデータベースの初期サイズより小さいサイズへの圧縮はできないと[MSDN](https://docs.microsoft.com/ja-
jp/sql/relational-databases/databases/shrink-a-database?view=sql-
server-2017)に記載がありました。

ここで本題ですが、この初期サイズを小さくすることはできないでしょうか。

[![画像の説明をここに入力](https://i.stack.imgur.com/cR3M5.png)](https://i.stack.imgur.com/cR3M5.png)


CC BY-SA 4.0
2018-06-14T00:39:17.323
44762
2018-09-25T02:00:48.043
12388
question
sql sql-server
SQL Server データベースの初期サイズを小さくしたい


[データベースの作成 | Microsoft Docs](https://docs.microsoft.com/ja-jp/sql/relational-
databases/databases/create-a-database?view=sql-server-2017) からコードを引用します。

[code]

    USE master ;  
    GO  
    CREATE DATABASE Sales  
    ON   
    ( NAME = Sales_dat,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',  
        SIZE = 10,  
        MAXSIZE = 50,  
        FILEGROWTH = 5 )  
    LOG ON  
    ( NAME = Sales_log,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',  
        SIZE = 5MB,  
        MAXSIZE = 25MB,  
        FILEGROWTH = 5MB ) ;  
    GO  
    
[/code]

このように `CREATE DATABASE` を実行する際に、`SIZE`(ファイルサイズ), `MAXSIZE`(ファイルサイズの上限),
`FILEGROWTH`(自動拡張するときの増加量) を指定出来ます。

`SIZE` の値を小さくすれば、初期サイズを小さく出来るのではと思いますのでお試しください。より詳しいことはTransact-
SQLのリファレンスをご確認ください。


CC BY-SA 4.0
2018-06-15T04:54:06.053
44775
2018-06-15T04:54:06.053
5008
44762
answer