寫滿交易記錄疑難排解 (錯誤 9002)

寫滿交易記錄疑難排解 (錯誤 9002)

image

今天收到客戶的一個錯誤訊息「資料庫’DB_NAME’的交易記錄已滿,….」,直覺使用DUMP TRAN <YOURDBNAME> WITH NO_LOG。我同事說要改用BACKUP LOG <YOURDBNAME> WITH NO_LOG。查了一下,還真的自2005後,有些SQL指定已經換了!

不過,還是可以用在SQL 2005上,到了SQL 2008已不用下那個指令了, 請參考「SQL Server 2008 中已停止的 Database Engine 功能」。

 

那為何交易檔會滿呢? 在SQL 2K中如果沒有完整備份的話,是不會去清交易檔的,而如果又有針對交易檔限定大小的話,就會長到爆。

後來問客戶IT是否有執行BACKUP LOG,結果IT說,是因為DB的空間被定樣備份檔給吃光了,所以交易檔就無法長大,也就顯示那個訊息。

 

參考資料:

Understanding backups and log-related Trace Flags in SQL Server 2000/2005 and 2008

選擇資料庫的復原模式

復原模式概觀

寫滿交易記錄疑難排解 (錯誤 9002)

交易記錄檔已滿、爆掉;截斷交易記錄檔。(The transaction log for database 'DB1' is full. ;Transaction Log Truncation)

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^