Sql-Server
縮小日誌文件
我的一些 SQL Server 的日誌文件 (ldf) 很大,比如 5GB。找了一篇關於收縮的文章,但是不知道為什麼作者重複了
DBCCSHRINKFILE
6次。有人可以確認並建議一個乾淨的腳本來做到這一點嗎?
USE DatabaseName GO ALTER DATABASE DatabaseName SET RECOVERY SIMPLE GO ALTER DATABASE DatabaseName SET RECOVERY FULL GO DBCC SHRINKFILE ('LogFileName', 1) GO DBCC SHRINKFILE ('LogFileName', 1) GO DBCC SHRINKFILE ('LogFileName', 1) GO DBCC SHRINKFILE ('LogFileName', 1) GO DBCC SHRINKFILE ('LogFileName', 1) GO DBCC SHRINKFILE ('LogFileName', 1) GO
我看不出有任何理由像您所說的那樣重複該命令 6 次。命令中的 1 是目標大小。DBCC ShrinkFile 允許指定一個小於創建文件時的原始大小的值。請注意以下行:Alter Database DatabaseName Set Recovery Simple 您必須首先備份您的數據庫,就像您使用另一種恢復模式(full 或 bulk_logged)一樣,日誌鏈將被破壞。
- 備份您的數據庫
- 將恢復模式切換為簡單。
- 執行 DBCC ShrinkFile 命令(我在這裡推荐一個合理的大小,如果你有一個 5Gb 的日誌文件,你可能需要更大的原始大小,或者更大的 MB 增量以使其增長。
- 切換回原來的恢復模式。