データベースの圧縮 †
トランザクションログファイルの圧縮 †
- 復旧モデルが完全の場合は、ファイルサイズが圧縮されない場合が有る(?)ので、以下のコマンドでトランザクションログファイルを切捨ててから「DBCC SHRINKFILE」を行うと良いかも
- 「DBCC SHRINKFILE」と「BACKUP LOG」を交互に繰返し実行しないと、ファイルサイズが初期サイズまで戻らないことが有る気がする
実行例 †
- データベースのバックアップを取った後、トランザクションログ切り捨てを3回実行する
USE testdb
GO
BACKUP DATABASE testdb TO DISK=N'E:\MSSQL\backup\testdb.bak' WITH INIT, COMPRESSION
BACKUP LOG testdb TO DISK=N'NUL'
DBCC SHRINKFILE('testdb_log', 1)
BACKUP LOG testdb TO DISK=N'NUL'
DBCC SHRINKFILE('testdb_log', 1)
BACKUP LOG testdb TO DISK=N'NUL'
DBCC SHRINKFILE('testdb_log', 1)
- 最初の「USE testdb」がないと、後半の「DBCC SHRINKFILE」の実行時に「ファイルが見つからない」というエラーが発生してしまうので注意
|