MSSQL 2000/2005 記錄檔檔案已滿的錯誤處理
資料庫只要做資料異動, 一般來說都會產生LOG, 如果沒有將LOG檔設定自動成長, 總有一天會爆掉, 而無法再做任何的資料異動。
發生此錯誤時, 會看到類似下面的錯誤訊息(這是VBS塞資料到DB時發生的錯誤)
刪除LOG指令:
上面指令雖然是BACKUP LOG, 但因為增加了WITH TRUNCATE_ONLY字眼, 所以是指直接刪除LOG, 而沒有做備份的動作。
網路上教學除了執行上面指令外, 還是再多做下面的指令做檔案壓縮, 但有網頁說這個動作會破壞Index, 會影響到效能。
壓縮LOG指令:
reference web:
http://blog.miniasp.com/post/2007/11/17/Resolve-The-transaction-log-for-database-is-full.aspx
http://www.blueshop.com.tw/board/FUM20041006152735ZFS/BRD20130506121618RB1.html
發生此錯誤時, 會看到類似下面的錯誤訊息(這是VBS塞資料到DB時發生的錯誤)
刪除LOG指令:
BACKUP LOG <資料庫名稱> WITH TRUNCATE_ONLY
上面指令雖然是BACKUP LOG, 但因為增加了WITH TRUNCATE_ONLY字眼, 所以是指直接刪除LOG, 而沒有做備份的動作。
網路上教學除了執行上面指令外, 還是再多做下面的指令做檔案壓縮, 但有網頁說這個動作會破壞Index, 會影響到效能。
壓縮LOG指令:
DBCC SHRINKDATABASE (<資料庫名稱>)
PS. SQL 2008以後不支援此語法
reference web:
http://blog.miniasp.com/post/2007/11/17/Resolve-The-transaction-log-for-database-is-full.aspx
http://www.blueshop.com.tw/board/FUM20041006152735ZFS/BRD20130506121618RB1.html
留言
張貼留言