數據庫日志文件是隨着時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復數據庫的重要依據,不用日志文件也是不明智的。手工清除單個數據庫的還好說,但數據庫多了,或者臨時沒有來得及清理,可能硬盤空間就會占滿了,影響訪問。因此設置自動清理數據庫日志文件還是比較實用的。
手動清理方法:右鍵單擊需要清理的數據庫,選擇“屬性”,在“選項”卡上,把故障還原模型設定為簡單,確定后關閉;再右鍵單擊該數據庫,“所有任務”-“收縮數據庫”,確認后即可清除日志文件,最后記得重新選擇“屬性”,將故障還原模型設置為完全。
自動清理方法:利用sql server代理服務,執行自動作業。
打開企業管理器,進入“管理”-“sql server代理服務”-“作業”,在右側窗口點擊右鍵,選擇“新建作業”。“常規”選項卡中,填寫作業名稱,具體描述,注意所有者最好還是用sa或者默認的管理帳號。
轉到“步驟”選項卡,新建作業步驟,填寫步驟名稱,類型為腳本,數據庫為需要清理日志的數據庫,在下邊命令中填寫以下命令:
DUMP TRANSACTION 數據庫名稱 WITH NO_LOG
DBCC SHRINKFILE(數據庫日志文件名,1)
上邊的數據庫名稱填寫需要維護的數據庫名稱,數據庫日志文件名填寫其對應的日志文件名,注意,不是資源管理器里看到的帶后綴名的那個名字,而是企業管理器里,數據庫屬性里日志選項卡中日志的名字(通常也只是差一個后綴名……),確定后添加一個作業步驟。 如果需要維護多個數據庫,用上述方法重復添加作業步驟,注意每個步驟成功或失敗后的動作即可,最后選擇一下開始的步驟。
在“調度”選項卡中,類似備份的維護計划,填寫調度周期,即定期清理的周期,不再細述。如果需要,可以在最后的“通知”選項卡上設置作業完成后的通知項,需要設置操作員,以及設置相應的服務,這里也不具體說明了,通常不用……