MSSQL 2000/2005 記錄檔檔案已滿的錯誤處理

資料庫只要做資料異動, 一般來說都會產生LOG, 如果沒有將LOG檔設定自動成長, 總有一天會爆掉, 而無法再做任何的資料異動。

發生此錯誤時, 會看到類似下面的錯誤訊息(這是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



留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 例外控制(Exception Control)

Oracle 工作排程 DBMS_JOB 筆記