The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

資料庫 'xxxx' 的記錄檔檔案已滿。請備份資料庫的交易記錄來釋放部分的記錄檔空間

資料庫用一段時間後,尤其是流量比較大的網站或應用程式,會造成資料庫的交易檔的容量快速增加,所以有可能會遇到以下這個錯誤訊息:

[Microsoft][ODBC SQL Server Driver][SQL Server]資料庫 'xxxxx' 的記錄檔檔案已滿。請備份資料庫的交易記錄來釋放部分的記錄檔空間。 (37000)

因為你的 SQL Server 資料庫每個 DML 的動作都會做 Log,當 Log 滿了就會告訴你,就像是 OS 的事件檢視器一樣,Log 滿了它一樣也會通知你。

解決方法就是將交易檔清空即可,執行下列 SQL 指令:

BACKUP LOG tempdb WITH TRUNCATE_ONLY

DBCC SHRINKDATABASE (tempdb)

如果交易檔對你來說很重要,建議你先備份,以上的指令雖然是 "BACKUP LOG" 但是後面家了 "WITH TRUNCATE_ONLY" 就是「直接刪除」的意思啦,並沒有說要備份到哪裡去喔!