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。彈出備份設計界面,首先指定要備份哪一個數據庫。這里支持多選,所以在維護整台server的時候非常方便。這里我們僅僅演示備份AdventureWorksDW2012數據庫。
備份類型選擇Full完整。然后依次指定備份路徑等信息。
完整備份創建完畢后,再創建一個Subplan。來完畢增量備份的設置。
點擊Add Subplan后,給子計划取個名字。
數據庫還是選擇AdventureWorksDW2012,備份類型選擇"差異"。其他設置跟曾經同樣,當然假設考慮將差異備份和完整備份分開的話,能夠考慮又一次設置備份路徑。
完整備份和差異備份的設置完畢了,接下來須要設置的是清空歷史備份。
這里再加入一個Subplan,將Maintenance Cleanup Task拖拽到設計界面中。
設置要清理的目錄,指向剛才我們設置的備份路徑,然后在底部設置多久的文件須要被清理掉,這里選擇1 Month。
三個步驟設置完成了。以此為全量備份,差異備份以及備份清理。問了維護方便,將這三個Subplan又一次命名:
接下來設置每一個步驟的執行周期。依照先前的需求定義,周六一個完整備份,平日一個差異備份。然后自己主動清理一個月前的備份。
首先點擊第一個Subplan的Schedulebutton。依照例如以下設置全量備份的周期設置。
然后以此設置差異備份的周期。
最后文件清理的周期。
設置好之后。保存,維護計划就設置完成了。
而實際上。SQL Server是依據剛才的操作,自己主動生成了對應的SSIS Package和Job。在SQL Server Agent的Jobs下能夠看到生成的對應的三個Job。
點開每一個Job,能夠看到Job步驟下是在SSIS下生成的相應的Package。
至今,要通過迄今推出的維護計划實現復雜的備份任務。
也許這個備份是不是很全面地介紹。但足以滿足現場的最基本需求,特別是對於數據倉庫備份,而更復雜的備份任務可基本也可以通過維護計划實現。