sqlserver日志清空

来源:互联网 发布:java log 编辑:程序博客网 时间:2024/04/26 20:12
 
日誌檔滿而造成SQL資料庫無法寫入檔時,可用兩種方法:
一種方法:清空日誌。
1
.打開查詢分析器,輸入命令
DUMP TRANSACTION 
資料庫名 WITH NO_LOG
2.
再打開企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮檔--選擇日誌檔--在收縮方式裏選擇收縮至XXM,這裏會給出一個允許收縮到的最小M,直接輸入這個數,確定就可以了。

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

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

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

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

注意:一般立成建立的資料庫默認屬性已設好,但碰到意外情況使數據庫屬性被更改,請用戶清空日誌後,檢查資料庫的以上屬性,以防事務日誌再次充滿。
 
 
原创粉丝点击