日志文件滿而造成SQL數(shù)據(jù)庫無法寫入文件時(shí),可用兩種方法:
一種方法:清空日志。
1.打開查詢分析器,輸入命令
DUMP?TRANSACTION?數(shù)據(jù)庫名?WITH?NO_LOG
2.再打開企業(yè)管理器--右鍵你要
壓縮的數(shù)據(jù)庫--所有任務(wù)--
收縮數(shù)據(jù)庫--收縮文件--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了。
另一種方法有一定的風(fēng)險(xiǎn)性,因?yàn)镾QL?SERVER的日志文件不是即時(shí)寫入數(shù)據(jù)庫主文件的,如處理不當(dāng),會(huì)造成數(shù)據(jù)的損失。
1:?刪除LOG
分離數(shù)據(jù)庫?企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->分離數(shù)據(jù)庫
2:刪除LOG文件
附加數(shù)據(jù)庫?企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->附加數(shù)據(jù)庫
此法生成新的LOG,大小只有500多K。
注意:建議使用
第一種方法。
如果以后,不想要它變大。
SQL2000下使用:
在數(shù)據(jù)庫上點(diǎn)右鍵->屬性->選項(xiàng)->故障恢復(fù)-模型-選擇-簡單模型。
或用SQL語句:
alter?database?數(shù)據(jù)庫名?set?recovery?simple
?
另外,
TEGUCzc($網(wǎng)8
如上圖中數(shù)據(jù)庫屬性有兩個(gè)選項(xiàng),與事務(wù)日志的增長有關(guān):
Truncate?log?on?checkpoint
(此選項(xiàng)用于SQL7.0,SQL?2000中即故障恢復(fù)模型選擇為簡單模型)
當(dāng)執(zhí)行CHECKPOINT?命令時(shí)如果事務(wù)日志文件超過其大小的70%?則將其內(nèi)容清除在開發(fā)數(shù)據(jù)庫時(shí)時(shí)常將此選項(xiàng)設(shè)置為True
Auto?shrink
定期對數(shù)據(jù)庫進(jìn)行檢查當(dāng)數(shù)據(jù)庫文件或日志文件的未用空間超過其大小的25%時(shí),
`#qE0I教TnHtv教UARW!系統(tǒng)將會(huì)自動(dòng)縮減文件使其未用空間等于25%?當(dāng)文件大小沒有超過其建立時(shí)的初始大小時(shí)不會(huì)縮減文件縮減后的文件也必須大于或等于其初始大小對事務(wù)日志文件的縮減只有在對其作備份時(shí)或?qū)runcate?log?on?checkpoint?選項(xiàng)設(shè)為True?時(shí)才能進(jìn)行。
注意:一般立成建立的數(shù)據(jù)庫默認(rèn)屬性已設(shè)好,但碰到意外情況使數(shù)據(jù)庫屬性被更改,請用戶清空日志后,檢查數(shù)據(jù)庫的以上屬性,以防事務(wù)日志再次充滿
posted on 2006-12-10 15:47
還沒想好名 閱讀(1076)
評論(0) 編輯 收藏