1. 程式人生 > >[清除SQLServer日誌的兩種方法]

[清除SQLServer日誌的兩種方法]

日誌檔案滿而造成SQL資料庫無法寫入檔案時,可用兩種方法:
一種方法:清空日誌。
1.開啟查詢分析器,輸入命令
DUMP TRANSACTION 資料庫名 WITH NO_LOG
2.再開啟企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮檔案--選擇日誌檔案--在收縮方式裡選擇收縮至XXM,這裡會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。

另一種方法有一定的風險性,因為SQL SERVER的日誌檔案不是即時寫入資料庫主檔案的,如處理不當,會造成資料的損失。
1: 刪除LOG
分離資料庫 企業管理器->伺服器->資料庫->右鍵->分離資料庫
2:刪除LOG檔案
附加資料庫 企業管理器->伺服器->資料庫->右鍵->附加資料庫
此法生成新的LOG,大小隻有500多K。

注意:建議使用第一種方法。

如果以後,不想要它變大。
SQL2000下使用:
在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。
或用SQL語句:
alter database 資料庫名 set recovery simple

另外,Truncate log on checkpoint(此選項用於SQL7.0,SQL 2000中即故障恢復模型選擇為簡單模型)當執行CHECKPOINT 命令時如果事務日誌檔案超過其大小的70% 則將其內容清除在開發資料庫時時常將此選項設定為True Auto shrink定期對資料庫進行檢查當資料庫檔案或日誌檔案的未用空間超過其大小的25%時,系統將會自動縮減檔案使其未用空間等於25% 當檔案大小沒有超過其建立時的初始大小時不會縮減檔案縮減後的檔案也必須大於或等於其初始大小對事務日誌檔案的縮減只有在對其作備份時或將Truncate log on checkpoint 選項設為True 時才