SQL Server的维护计划Maintenance Plan是一个非常实用的维护工具,可以完成大多数的数据库维护任务,通过对这些功能的封装,可以省去很多的代码编写时间。网络上完整介绍的不是很多,特此补上一篇。

数据库的备份是日常操作非常重要的一个环节,备份的方法也很多,其中最简单的方法就是通过Management Studio的图形界面,这种方法对于即时性的备份需求是最快的。

SQL Server Database 维护计划创建完整的备份策略

也可以通过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。

SQL Server Database 维护计划创建完整的备份策略

首先右键这个文件夹新建一个维护计划。

SQL Server Database 维护计划创建完整的备份策略

给维护计划取个名字。

SQL Server Database 维护计划创建完整的备份策略

维护计划界面。对于上面我们提到的需求,在维护计划里对应的就是三个Subplan。系统会默认创建一个空的Subplan。

SQL Server Database 维护计划创建完整的备份策略

Subplan里都支持哪些功能呢?让我们点击View菜单下的Toolbox。

SQL Server Database 维护计划创建完整的备份策略

可以看到在维护计划下支持的任务类型(熟悉SSIS的朋友对这个或许再熟悉不过)。

SQL Server Database 维护计划创建完整的备份策略

将Back Up Database Task拖拽到右侧。

SQL Server Database 维护计划创建完整的备份策略

双击设计界面的Back Up Database Task,弹出备份设计界面,首先指定要备份哪一个数据库。这里支持多选,所以在维护整台服务器的时候很方便。这里我们只演示备份AdventureWorksDW2012数据库。

SQL Server Database 维护计划创建完整的备份策略

备份类型选择Full完整。然后依次指定备份路径等信息。

SQL Server Database 维护计划创建完整的备份策略

完整备份创建完毕后,再创建一个Subplan,来完成增量备份的设置。

SQL Server Database 维护计划创建完整的备份策略

点击Add Subplan后,给子计划取个名字。

SQL Server Database 维护计划创建完整的备份策略

数据库还是选择AdventureWorksDW2012,备份类型选择"差异"。其它设置跟以前相同,当然如果考虑将差异备份和完整备份分开的话,可以考虑重新设置备份路径。

SQL Server Database 维护计划创建完整的备份策略

完整备份和差异备份的设置完成了,接下来需要设置的是清空历史备份。这里再添加一个Subplan,将Maintenance Cleanup Task拖拽到设计界面中。

SQL Server Database 维护计划创建完整的备份策略

设置要清理的文件夹,指向刚才我们设置的备份路径,然后在底部设置多久的文件需要被清理掉,这里选择1 Month。

SQL Server Database 维护计划创建完整的备份策略

三个步骤设置完毕了,以此为全量备份,差异备份以及备份清理,问了维护方便,将这三个Subplan重新命名:

SQL Server Database 维护计划创建完整的备份策略

接下来设置每个步骤的运行周期。按照先前的需求定义,周六一个完整备份,平日一个差异备份,然后自动清理一个月前的备份。

首先点击第一个Subplan的Schedule按钮,按照如下设置全量备份的周期设置。

SQL Server Database 维护计划创建完整的备份策略

然后以此设置差异备份的周期。

SQL Server Database 维护计划创建完整的备份策略

最后文件清理的周期。

SQL Server Database 维护计划创建完整的备份策略

设置好之后,保存,维护计划就设置完毕了。

SQL Server Database 维护计划创建完整的备份策略

而实际上,SQL Server是根据刚才的操作,自动生成了相应的SSIS Package和Job,在SQL Server Agent的Jobs下可以看到生成的相应的三个Job。

SQL Server Database 维护计划创建完整的备份策略

点开每个Job,可以看到Job步骤下是在SSIS下生成的对应的Package。

SQL Server Database 维护计划创建完整的备份策略

 

至此,通过维护计划来实现复杂的备份任务介绍至此。也许这个备份介绍的还不是很全面,但基本足以满足大多数的需求场景,尤其是对数据仓库的备份,而且再复杂的备份任务基本也都可以通过维护计划来实现。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
  • 2021-11-06
  • 2021-12-17
猜你喜欢
  • 2022-12-23
  • 2021-05-28
  • 2022-01-28
  • 2021-07-07
相关资源
相似解决方案