SQL Server日志文件龐大收縮方法(實測好用)


這兩個命令連續執行,間隔時間越少越明顯(可多次運行),直到達到效果

--截斷
BACKUP LOG CloudMonitor TO DISK='NUL'
--收縮
DBCC SHRINKFILE('CloudMonitor_log')



 

以后就可以采用常規的定期備份日志(比如一小時一次)來防止日志文件無限增長。

SQL Server日志文件龐大收縮並非易事, 文章中提到:
由於首日志、尾日志和空間重復利用的原因,當備份日志后產生了日志截斷,就會標記為可重復利用,但是只有文件尾部可用空間能被收縮。 這樣就導致了日志文件的可用空間有98%卻怎么收縮都沒動靜。通過備份+收縮連續操作盡可能讓跳過“Active Log”

“收縮文件”嘗試過,都無法達到效果:
1. 釋放未使用的空間
2. 在釋放未使用的空間前重新組織頁

 


針對此問題, 網上還有一些做法是通過修改為“簡單恢復”模式進行收縮,但此方法不適用於AlwaysOn

當然,微軟官方也對此問題作出來說明:
“在某些情況下,直到下一個日志截斷后,才能收縮日志。”
 
官方文檔:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM