作為一名DBA,他們最常見的日常任務是:
1)定期完成數據庫的完全備份或差異備份。
2)定期清理備份文件,因為存儲空間有限,可能只需要保存一個時期段內的文件(比如一周內或一月內)。
而如何做到這兩點呢?筆者相信在SQL SERVER2005版本出來之前要實現這種功能,也是可以實現的,只是實現定期清理備份文件顯得不那麼直接,一般需要手寫批處理作業維護,而在SQL Server 2005版本中,這些功能已經被設計成為預制的組件,只需要在數據維護計劃中進行拖拽並設置相關屬性就可以了,相關步驟如下:
第一步:新建維護計劃
圖1
在服務器 管理\維護計劃鼠標右鍵點擊新建維護計劃。
第二步:設計維護計劃
2.1 拖拽 維護計劃中的任務工具箱 的“備份數據庫任務”到維護計劃設計器。
2.2 拖拽 維護計劃中的任務工具箱 的“清除歷史記錄任務”到維護計劃設計器。
2.3拖拽 維護計劃中的任務工具箱 的“清除維護任務”到維護計劃設計器。
如下圖所示:
圖2
鼠標右鍵點擊編輯 “備份數據庫”任務可設置屬性,如下圖:
圖3
本任務將自動完成數據庫的完整備份作業。
鼠標右鍵點擊編輯“清除歷史記錄”任務,如下圖:
圖4
本任務自動完成”清除歷史記錄”作業。
鼠標右鍵點擊編輯“清除維護”任務,如下圖:
圖5
本任務自動完成清除歷史備份文件的作業。
本維護計劃任務的作業計劃屬性設置如下:
圖6
本步驟完成了作業屬性的設置。系統將按照設置定期運行維護作業。
第三步:保存維護計劃
到此,只需要查看日志記錄,就可以跟蹤本計劃的完成情況,根據成功記錄與否可以調整和修改本維護計劃。
DBA們經常使用的SQL Server 2005最常用的備份維護計劃,就是這麼簡單!
自動定期清除數據庫日志
數據庫日志文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復數據庫的重要依據,不用日志文件也是不明智的。手工清除單個數據庫的還好說,但數據庫多了,或者臨時沒有來得及清理,可能硬盤空間就會占滿了,影響訪問。因此設置自動清理數據庫日志文件還是比較實用的。 手動清理方法:右鍵單擊需要清理的數據庫,選擇“屬性”,在“選項”卡上,把故障還原模型設定為簡單,確定後關閉;再右鍵單擊該數據庫,“所有任務”-“收縮數據庫”,確認後即可清除日志文件,最後記得重新選擇“屬性”,將故障還原模型設置為完全。 自動清理方法:同樣是利用sql server代理服務,執行自動作業。 打開企業管理器,進入“管理”-“sql server代理”-“作業”,在右側窗口點擊右鍵,選擇“新建作業”。“常規”選項卡中,填寫作業名稱,具體描述,注意所有者最好還是用sa或者默認的管理帳號。 轉到“步驟”選項卡,新建作業步驟,填寫步驟名稱,類型為腳本,數據庫為需要清理日志的數據庫,在下邊命令中填寫以下命令: DUMP TRANSACTION 數據庫名稱 WITH NO_LOG DBCC SHRINKFILE(數據庫日志文件名,1) 上邊的數據庫名稱填寫需要維護的數據庫名稱,數據庫日志文件名填寫其對應的日志文件名,注意,不是資源管理器裡看到的帶後綴名的那個名字,而是企業管理器裡,數據庫屬性裡日志選項卡中日志的名字(不要帶後綴名),確定後添加一個作業步驟。 如果需要維護多個數據庫,用上述方法重復添加作業步驟,注意每個步驟成功或失敗後的動作即可,最後選擇一下開始的步驟。 在“計劃”選項卡中,類似備份的維護計劃,填寫計劃周期,即定期清理的周期,不再細述。如果需要,可以在最後的“通知”選項卡上設置作業完成後的通知項,需要設置操作員,以及設置相應的服務,這裡也不具體說明了,通常不用…… 原來都是手動執行上邊的各項操作的,比較麻煩,在網上找找加上自己實踐,總結出上邊的經驗,實施一段日子以來,確實比以前省心多了。存檔一個。