トランザクションログファイルのサイズ縮小について
本投稿のSQL Serverのバージョンは「2017 Developer Edition」です。SQL Server Management Studioのバージョンは「17.3」です。
忘れそうになるので、備忘録として残しておきます。
トランザクションログファイルのサイズを縮小するには、以下のコマンドを使います。
第一パラメータには、トランザクションログファイルの論理名を指定します。
第二パラメータには、ファイルサイズをMB単位で指定します。
■コマンド
「DBCC SHRINKFILE('DemoDatabase_log', 0)」
指定するトランザクションログファイルを調べるには、以下のSQLを実行します。
■SQL
「SELECT * FROM sys.database_files」
すると、以下の様な実行結果が得られます。
復旧モデルが完全の場合は、ファイルサイズが圧縮されない場合が有る(?)ので、以下のコマンドでトランザクションログファイルを切捨ててから「DBCC SHRINKFILE」を行うと良いかも。(良く分かっていないですが、「DBCC SHRINKFILE」と「BACKUP LOG」を交互に繰返し実行しないと、ファイルサイズが初期サイズまで戻らない事が有る気がします。)
■コマンド
「BACKUP LOG [DemoDatabase] TO DISK = N'NUL'」
※[DemoDatabase]には、データベース名を指定する。
SQL Serverを使っていると、トランザクションログの上限サイズオーバーになる事が有るので、まとめてみました。