SQL Server 2008 R2ではデフォルトでは、トランザクションログは、ハードディスクの空き領域がなくなるまで、またはファイルサイズが最大になるまで、どんどん肥大化していく。
ログの肥大化を防止するには、ログを定期的にバックアップするしかない。
バックアップを実行すると、トランザクションログの使用済み領域を切り捨てることができる。
ログのバックアップにより使用済み領域を解放して、空き領域へ変換してくれるので、その領域が再利用できるようになる。
しかし、ログの切り捨ては、再利用可能な領域を作るだけで、ファイルサイズを縮小するわけではない。
しかし、大きく肥大化したファイルの場合は縮小したい場合がある。
この場合は DBCC SHRINKFILE コマンドを実行する
DBCC SHRINKFILE(論理名, 縮小後のサイズ)
1.まずログの使用量を確認。
DBCC SQLPERF(LOGSPACE) コマンドを使用してLog Size/Log Space Usedを見てみる。
2.FORMATオプションでバックアップを実行。
BACKUP DATABASE ***DB
TO DISK = 'C:\***DB.bak'
WITH FORMAT
3.ログ バックアップの実行
BACKUP LOG ***DB
TO DISK = C:\log1.bak'
4.DBCC SHRINKFILE(log1) を実行
でログファイルは縮小される。
0 件のコメント:
コメントを投稿