- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-05-30T05:53:32+00:00","default:admin","admin")
#author("2019-06-05T01:18:34+00:00","default:admin","admin")
-[[[SQLServer]DBサイズの圧縮:https://ameblo.jp/nature3298type-s/entry-10301244110.html]]
*データベースの圧縮 [#t1042a4b]
-指定したデータベース内のデータ ファイルとログ ファイルのサイズを圧縮
DBCC SHRINKDATABASE('testdb', 0)
*トランザクションログファイルの圧縮 [#nedb1fab]
-[[トランザクションログファイルのサイズ縮小について:http://masaru1006a.hatenablog.com/entry/2018/03/21/154319]]
-復旧モデルが完全の場合は、ファイルサイズが圧縮されない場合が有る(?)ので、以下のコマンドでトランザクションログファイルを切捨ててから「DBCC SHRINKFILE」を行うと良いかも
-「DBCC SHRINKFILE」と「BACKUP LOG」を交互に繰返し実行しないと、ファイルサイズが初期サイズまで戻らないことが有る気がする
-トランザクションログ切り捨て用コマンド
BACKUP LOG [データベース名] TO DISK = N'NUL'
*実行例 [#c1303404]
-データベースのバックアップを取った後、トランザクションログ切り捨てを3回実行する
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)