SQL Server 实现数据库备份的维护计划
有了上面的基础,我们加入了数据库的备份元素,通过维护计划来生成数据库的备份文件,这包括两种文件,数据库的完全备份与差异备份,有了这两个文件,我们可以通过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,在代理中生成 完整备份与差异备份的作业;
补充:数据库,Mssql