伺服器事務日誌已滿解決方法

宵雲科技發表於2019-12-20

方法一:

1、開啟查詢分析器,輸入命令

BACKUP LOG database_name WITH NO_LOG

2、再開啟企業管理器--右鍵要壓縮的資料庫--所有任務--收縮資料庫--收縮檔案--選擇日誌檔案--在收縮方式裡選擇收縮至xxm,這裡會給出一個允許收縮到的最小m數,直接輸入這個數,確定就可以了。

方法二:(本人嘗試 非常有效)

設定檢查點,自動截斷日誌

一般情況下,SQL資料庫的收縮並不能很大程度上減小資料庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免資料庫日誌過大

1、設定資料庫模式為簡單模式:開啟SQL企業管理器,在控制檯根目錄中依次點開Microsoft SQL Server-->SQL Server組-->雙擊開啟你的伺服器-->雙擊開啟資料庫目錄-->選擇你的資料庫名稱(如使用者資料庫cwbase1)-->然後點選右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇“簡單”,然後按確定儲存。

2、在當前資料庫上點右鍵,看所有任務中的收縮資料庫,一般裡面的預設設定不用調整,直接點確定。

3、收縮資料庫完成後,建議將您的資料庫屬性重新設定為標準模式,操作方法同第一點,因為日誌在一些異常情況下往往是恢復資料庫的重要依據。

方法三:刪除日誌檔案

此方法有一定的風險性,因為sql server的日誌檔案不是即時寫入資料庫主檔案的,如處理不當,會造成資料的損失。

1、操作前請斷開所有資料庫連線。

2、分離資料庫

分離資料庫:企業管理器->伺服器->資料庫->cwbase1->右鍵->分離資料庫

分離後,cwbase1資料庫被刪除,但保留了資料檔案和日誌檔案。

3、刪除log物理檔案

刪除LOG物理檔案,然後附加資料庫: 企業管理器->伺服器->資料庫->右鍵->附加資料庫。

此法生成新的log,大小隻有500多k。

注意: 宵雲建議使用第一種方法。操作前請確保所有操作員都已經推出系統,斷開資料庫的連線。

以上操作前,請務必做好資料備份!

1.sql server 2005 清除日誌語句:

dump transaction 資料庫名稱 with no_log

backup log 資料庫名稱 with no_log

dbcc shrinkdatabase(資料庫名稱)

2.sql server 2008 清除日誌語句:

sp_dboption 資料庫名稱, "trunc. log on chkpt.", true

checkpoint

sp_dboption 資料庫名稱, "autoshrink", true


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69948194/viewspace-2669615/,如需轉載,請註明出處,否則將追究法律責任。

相關文章