代码改变世界

SQL Server 维护计划实现数据库备份(Step by Step)

2011-11-18 17:51  听风吹雨  阅读(12056)  评论(8编辑  收藏  举报

一、前言

SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server 数据库最小宕机迁移方案,里面使用SQL脚本(T-SQL)完成完全备份、差异备份、完全还原、差异还原等;

       有了上面的基础,我们加入了数据库的备份元素,通过维护计划来生成数据库的备份文件,这包括两种文件,数据库的完全备份与差异备份,有了这两个文件,我们可以通过SQL Server 备份和还原全攻略(图形操作)或者SQL Server 数据库最小宕机迁移方案(代码操作)的方法来还原我们的数据;

 

二、场景设计

假设我们的数据库不是很大,但是我们的数据会比较重要,大概一天一个备份就能满足我们的业务需要,那我们应该如何设计我们的备份方案呢?

星期天晚上02:00做一次数据库的完全备份,其它时间星期一至星期六晚上02:00做一次差异备份,基本逻辑如下图所示:


(图:数据库备份文件生成逻辑)

Tips

1.      如果你的数据库比较大,而且流数据(就是一些记录性的流水数据)比较多,我们的做法是把这些大表分离出一个新的数据库(纵向切割数据库),这样接下来的问题,这篇文章就可以解决了;

2.      如果无法把流数据分离出数据库,那么可以考虑表分区,分区之后再对其它表进行数据备份(主分区备份);这些备份是无法使用差异备份了,每次都只能使用完全备份,而且还原的时候表分区是不可以用的,只能修改表名之后再创建新表,请参考:SQL Server 维护计划备份主分区

3.      如果一天一次的备份满足不了业务上的需求,那么可以考虑发布订阅方案,在两台机器上进行事务复制,可以调整复制的频率,加强数据的安全性,这个会在以后的文章中说明;

 

三、实战操作

1.      数据库 -> 【管理】-> 【维护计划】  -> 【新建维护计划】;


(图1)

2.      勾选【备份数据库(完整)】和【备份数据库(差异)】;


(图2)

3.      设置 完整备份 文件的路径和备份文件的扩展名;注意特定数据库的选择;


(图3)

4.      填写 完整备份 作业计划的名称,执行间隔勾选星期日,设置执行时间;


(图4)

5.      设置 差异备份 文件的路径和备份文件的扩展名;注意特定数据库的选择;


(图5)

6.      填写 差异备份 作业计划的名称,执行间隔勾选除星期日之外的日期,设置执行时间;


(图6)

7.      这就生成 完整备份 与 差异备份 的子计划了,


(图7)

8.      在完整备份的设计界面中,从左边拖拉一个【清除历史记录】的控件到右边,并双击进行下图的设置;


(图8)

9.      从左边拖拉一个【清除维护】的控件到右边,并双击进行下图的设置,这里需要设置 完整备份 的路径和文件的扩展名;


(图9)

10.   在步骤上加上箭头形成 完全备份 作业的流程图;


(图10)

11.   在差异备份的设计界面中,从左边拖拉一个【清除历史记录】的控件到右边,并双击进行下图的设置;


(图11)

12.   从左边拖拉一个【清除维护】的控件到右边,并双击进行下图的设置,这里需要设置 差异备份 的路径和文件的扩展名;


(图12)

13.   在步骤上加上箭头形成 差异备份 作业的流程图;


(图13)

14.   在维护计划下生成Ant_Backup,在代理中生成 完整备份与差异备份的作业;


(图14)

四、参考文献

SQL Server 2005 自动备份

SQL Server 2005自动备份维护计划

SQL Server 2005备份维护计划

使用SQL Server维护计划实现数据库定时自动备份