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。
至今,要通过迄今推出的维护计划实现复杂的备份任务。
也许这个备份是不是很全面地介绍。但足以满足现场的最基本需求,特别是对于数据仓库备份,而更复杂的备份任务可基本也可以通过维护计划实现。