SQL2005自動備份,定期刪除的維護計划及自動定期清除日志


 

作為一名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]  view plain  copy
 
 print?
  1. //使用 xp_servicecontrol 啟動SQLSERVERAGENT(SqlServer代理)    
  2. EXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT'   

 

自動定期清除數據庫日志 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM