![](/img/trans.png)
[英]Transaction log is full (due to NOTHING)... but this database is in simple recovery mode
[英]Transaction Log remains 60GB size, even after changing to Full Recovery
剛從一家公司開始,並注意到他們的數據庫設置為“簡單恢復”。
我與所有者交談,建議將其轉換為完全恢復,並向他解釋了使用事務日志並每小時進行備份的好處。 在他同意之后,我在轉換之前做了完整的數據庫備份。 然后,計划對事務日志文件進行每小時一次的備份,對數據文件進行每日一次完整的備份。
我的印象是,一旦每小時備份開始運行,事務日志的大小(60GB)就會縮小。 已經有一個多月了,但是事務日志的大小仍然相同。
是否可以在不分離和附加數據庫的情況下針對日志文件運行DBCC ShrinkDB
?
我的印象是,一旦每小時備份開始運行Tlog的大小,則60GB將開始減少。 已經過去了一個多月,但Tlog的大小仍然相同。
日志文件不會自動縮小
是否可以對Tlog運行DBCC ShrinkDB
除非空間不足,否則不要收縮日志文件。原因是文件增長操作非常昂貴
您可以看到以下命令以查看日志文件中的可用空間
dbcc sqlperf('logspace')
您正在執行的日志備份將有助於防止日志文件增長,但是日志文件不會自動收縮。 在內部,日志文件被分段為虛擬日志文件(VLF),並且(或多或少)以循環方式使用。 在運行工作負載時,交易記錄在這些VLF中。 運行日志備份時,它將從上次日志備份以來讀取所有具有事務的VLF,將這些事務寫入磁盤,然后清除VLF並將其標記為可重復使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.