Sql-Server
為什麼不通過收縮來減小數據庫日誌文件的大小?
我使用 SQL 伺服器數據庫。為了減少數據庫日誌文件,我將數據庫的恢復模式設置為簡單,然後收縮數據庫,但日誌文件沒有效果。
什麼是問題?
不要縮小整個數據庫。它太不精確了。始終以單個文件為目標。即,使用 DBCC SHRINKFILE。
日誌文件不收縮的原因是最後一個虛擬日誌文件正在使用中。ldf 文件分為 Virtual Log Files (VLF),ldf 文件只能從文件末尾收縮,去除未使用的 VLF。顯然您在文件末尾使用了 VLF,否則文件會縮小。
您要做的是清空日誌(如果在簡單恢復中,則使用 CHECKPOINT 命令,如果在完全恢復中,則執行日誌備份),然後執行 DBCC SHRINKFILE 命令。您可能必須多次重複這些步驟,直到最後一個所需的 VLF 進入未使用狀態並且可以刪除。