SQL Server Database 維護計劃創建完整的備份策略



SQL Server的維護計劃Maintenance Plan是一個非常實用的維護工具,可以完成大多數的數據庫維護任務,通過對這些功能的封裝,可以省去很多的代碼編寫時間。網絡上完整介紹的不是很多,特此補上一篇。

數據庫的備份是日常操作非常重要的一個環節,備份的方法也很多,其中最簡單的方法就是通過Management Studio的圖形界面,這種方法對於即時性的備份需求是最快的。

也可以通過SQL語句,直接通過語句相對來說對於自定義的自動化備份更靈活:

BACKUP DATABASE mydb to DISK='D:\Backup\mydb

 

但有時備份操作往往在具體的要求和自動化的要求上會更高一些,尤其是在數據倉庫系統,比如對一個生產系統的備份通常是這樣要求的:

- 每週六一個全量備份

- 工作日時間每天一個增量備份

- 所有的備份在一個月之後自動刪除

如果你是一個很厲害的Coder,通過SQL編程,或者.net c# code,以及powershell等等方式來實現這個需求雖說不難,但也不簡單。而實際上SQLServer早就爲我們考慮好了這樣的需求,那就是通過SQLServer自帶的Maintenance Plan。

可以在SQL Server Management Studio的Management下找到Maintenance Plans。

首先右鍵這個文件夾新建一個維護計劃。

給維護計劃取個名字。

維護計劃界面。對於上面我們提到的需求,在維護計劃裏對應的就是三個Subplan。系統會默認創建一個空的Subplan。

Subplan裏都支持哪些功能呢?讓我們點擊View菜單下的Toolbox。

可以看到在維護計劃下支持的任務類型(熟悉SSIS的朋友對這個或許再熟悉不過)。

將Back Up Database Task拖拽到右側。

雙擊設計界面的Back Up Database Task,彈出備份設計界面,首先指定要備份哪一個數據庫。這裏支持多選,所以在維護整臺服務器的時候很方便。這裏我們只演示備份AdventureWorksDW2012數據庫。

備份類型選擇Full完整。然後依次指定備份路徑等信息。

完整備份創建完畢後,再創建一個Subplan,來完成增量備份的設置。

點擊Add Subplan後,給子計劃取個名字。

數據庫還是選擇AdventureWorksDW2012,備份類型選擇"差異"。其它設置跟以前相同,當然如果考慮將差異備份和完整備份分開的話,可以考慮重新設置備份路徑。

完整備份和差異備份的設置完成了,接下來需要設置的是清空歷史備份。這裏再添加一個Subplan,將Maintenance Cleanup Task拖拽到設計界面中。

設置要清理的文件夾,指向剛纔我們設置的備份路徑,然後在底部設置多久的文件需要被清理掉,這裏選擇1 Month。

三個步驟設置完畢了,以此爲全量備份,差異備份以及備份清理,問了維護方便,將這三個Subplan重新命名:

接下來設置每個步驟的運行週期。按照先前的需求定義,週六一個完整備份,平日一個差異備份,然後自動清理一個月前的備份。

首先點擊第一個Subplan的Schedule按鈕,按照如下設置全量備份的週期設置。

然後以此設置差異備份的週期。

最後文件清理的週期。

設置好之後,保存,維護計劃就設置完畢了。

而實際上,SQL Server是根據剛纔的操作,自動生成了相應的SSIS Package和Job,在SQL Server Agent的Jobs下可以看到生成的相應的三個Job。

點開每個Job,可以看到Job步驟下是在SSIS下生成的對應的Package。

 

至此,通過維護計劃來實現複雜的備份任務介紹至此。也許這個備份介紹的還不是很全面,但基本足以滿足大多數的需求場景,尤其是對數據倉庫的備份,而且再複雜的備份任務基本也都可以通過維護計劃來實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章