數(shù)據(jù)庫日志文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日志文件是數(shù)據(jù)庫的重要依據(jù),不用日志文件也是不明智的。單庫的可以手工清除,庫多了、或者臨時沒有來得及清理,可能硬盤空間就會占滿了,影響訪問。
因此設(shè)置自動清數(shù)據(jù)庫日志文件還是比較實用的。
手動清理方法:做好數(shù)據(jù)備份,右鍵單擊對應(yīng)的數(shù)據(jù)庫,選擇''屬性"—''選項",把故障還原模型設(shè)定為簡單,確定后關(guān)閉;再右鍵單擊該數(shù)據(jù)庫,''所有任務(wù)"—'收縮數(shù)據(jù)庫",確認(rèn)后即可清除日志文件,最后記得重新選擇''屬性",把故障還原模型設(shè)定為完全。
自動清理方法:同樣是利用 sql server 代理服務(wù),執(zhí)行自動作業(yè)。
打開企業(yè)管理器,進(jìn)入“管理”-“ sql server 代理服務(wù)”-“作業(yè)”,在右側(cè)窗口點擊右鍵,選擇“新建作業(yè)”?!俺R?guī)”選項卡中,填寫作業(yè)名稱,具體描述,注意所有者最好還是用 sa 或者默認(rèn)的管理帳號。
轉(zhuǎn)到“步驟”選項卡,新建作業(yè)步驟,填寫步驟名稱,類型為腳本,數(shù)據(jù)庫
為需要清理日志的數(shù)據(jù)庫,在下邊命令中填寫以下命令:
SqI 代碼
1.
DUMP TRANSACTION 數(shù)
據(jù)庫名稱 WITH NO LOG
DBCC SHRINKFILE (數(shù)據(jù)庫日志文件名,1)
或者使用
2.
DUMP TRANSACT1ON DBName WITH NO _L0G
BACKUP LOG DBName WITH NO LOG
DBCC SIIRTNKDATABASE ( DBName )
DBCC SIIRTNKFTLE (1)
上邊的數(shù)據(jù)庫名稱填寫需要維護(hù)的數(shù)據(jù)庫名稱,數(shù)據(jù)庫日志文件名填寫其對應(yīng)的日志文件名,注意,不是資源管理器里看到的帶后綴名的那個名字,而是企業(yè)管理器里,數(shù)據(jù)庫屬性里日志選項卡中日志的名字(通常也只是差一個后綴名…),確定后添加一個作業(yè)步驟。如果需要維護(hù)多個數(shù)據(jù)庫,用上述方法重復(fù)添加作業(yè)步驟,注意每個步驟成功或失敗后的動作即可,最后選擇一下開始的步驟。