Sql-Server
如何縮小大 LDF
我有一個帶有 100Gb MDF 和 4Gb LDF 的 SQL2016 DB 的客戶端。數據庫設置為簡單。我無法將 LDF 縮小到最低限度。如何將 LDF 縮小到正常水平?
此設置和文件大小是否會影響性能?
在嘗試縮小日誌文件之前,您需要了解它是否存在問題。可能不是。
日誌最有可能是那個大小,因為它需要增長到那個大小,這意味著如果你縮小它,它可能會在未來恢復到那個大小 - 並且日誌增長會暫時減緩任何導致它增長的事務。
由於它只有 4GB 並且正在
SIMPLE
恢復中,我建議簡單地將日誌保持原樣,並可能將自動增長調整為固定的 1GB 塊。如果您只是必須縮小日誌,則可以使用DBCC SHRINKFILE選項來執行此操作
TRUNCATEONLY
。例子:
DBCC SHRINKFILE (Database_log_file_name, 1);
這會將文件一直截斷到最後一個打開的事務,如果數據庫空閒或大部分空閒,這將是整個事情。但首先請確保您已按上述方式設置了自動增長,您甚至可能希望將日誌大小重新調整為您認為需要的大小。
但同樣…… 100GB 數據庫上的 4GB 並不是什麼大問題。我就讓它呆在那裡。
也許數據庫本身可以告訴您為什麼它不修剪日誌(請參閱可以延遲日誌截斷的因素)。