Sql-Server-2012

非常大的事務日誌文件 - 什麼時候正常?

  • February 4, 2020

我有一台執行在磁碟空間上的伺服器,我進行了深入研究,以確定某些東西是否執行不正常,或者它是否只是一個健康的數據庫,只是碰巧在增長。

我發現特定數據庫的 ldf 已達到 116gb(超過驅動器上可用空間的一半)。但是,為了正確保持 ldf 大小,一切似乎都在正常執行:

-Nightly Full backups
-Morning log backups

我還嘗試縮小 ldf 以釋放任何未使用的空間並獲得幾乎一個 mb 的回饋。考慮到所有事情,這是否是我們只需要 A) 增加磁碟空間或 B) 將此 DB 的 ldf 移動到不同位置的情況?

非常感謝任何回饋!

日誌截斷釋放日誌文件中的空間以供事務日誌重用。您必須定期截斷事務日誌以防止其填滿分配的空間。有幾個因素可以延遲日誌截斷。最可能的原因之一 - 您沒有進行日誌備份。您需要備份您的事務日誌,然後您將能夠縮小它。如果您不需要日誌備份,您可以將數據庫恢復模式切換為簡單並縮小日誌。其他可能的原因有點複雜(例如,您可能在數據庫鏡像或長時間執行的事務方面遇到問題)。您可以在此處找到更多詳細資訊: https ://docs.microsoft.com/en-us/sql/relational-databases/logs/the-transaction-log-sql-server?view=sql-server-ver15#FactorsThatDelayTruncation

你檢查log_reuse_wait_descsys.databases,它顯示了什麼?

您可能必鬚根據結果採取適當的措施

select name, log_reuse_wait_desc, recovery_model_desc
from sys.databases

此外,如果數據庫設置為 FULL RECOVERY MODEL,您需要根據日誌生成增加 LOG 備份的頻率,沒有其他更好的方法可以避免以後出現同樣的問題。

引用自:https://dba.stackexchange.com/questions/258884