jsnjzlw 发表于 2018-10-21 13:13:50

SQL Server 维护计划实现数据库备份

  一、前言
  SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server 数据库最小宕机迁移方案,里面使用SQL脚本(T-SQL)完成完全备份、差异备份、完全还原、差异还原等;
  有了上面的基础,我们加入了数据库的备份元素,通过维护计划来生成数据库的备份文件,这包括两种文件,数据库的完全备份与差异备份,有了这两个文件,我们可以通过SQL Server 备份和还原全攻略(图形操作)或者SQL Server 数据库最小宕机迁移方案(代码操作)的方法来还原我们的数据;
  二、场景设计
  假设我们的数据库不是很大,但是我们的数据会比较重要,大概一天一个备份就能满足我们的业务需要,那我们应该如何设计我们的备份方案呢?
  星期天晚上02:00做一次数据库的完全备份,其它时间星期一至星期六晚上02:00做一次差异备份,基本逻辑如下图所示:
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD%E6%96%87%E4%BB%B6%E7%94%9F%E6%88%90%E9%80%BB%E8%BE%91.jpg
  (图:数据库备份文件生成逻辑)
  Tips:
  1.      如果你的数据库比较大,而且流数据(就是一些记录性的流水数据)比较多,我们的做法是把这些大表分离出一个新的数据库(纵向切割数据库),这样接下来的问题,这篇文章就可以解决了;
  2.      如果无法把流数据分离出数据库,那么可以考虑表分区,分区之后再对其它表进行数据备份(主分区备份);这些备份是无法使用差异备份了,每次都只能使用完全备份,而且还原的时候表分区是不可以用的,只能修改表名之后再创建新表,请参考:SQL Server 维护计划备份主分区
  3.      如果一天一次的备份满足不了业务上的需求,那么可以考虑发布订阅方案,在两台机器上进行事务复制,可以调整复制的频率,加强数据的安全性,这个会在以后的文章中说明;
  三、实战操作
  1.      数据库 -> 【管理】-> 【维护计划】-> 【新建维护计划】;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/1.jpg
  (图1)
  2.      勾选【备份数据库(完整)】和【备份数据库(差异)】;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/2.jpg
  (图2)
  3.      设置 完整备份 文件的路径和备份文件的扩展名;注意特定数据库的选择;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/3.jpg
  (图3)
  4.      填写 完整备份 作业计划的名称,执行间隔勾选星期日,设置执行时间;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/4.jpg
  (图4)
  5.      设置 差异备份 文件的路径和备份文件的扩展名;注意特定数据库的选择;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/5.jpg
  (图5)
  6.      填写 差异备份 作业计划的名称,执行间隔勾选除星期日之外的日期,设置执行时间;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/6.jpg
  (图6)
  7.      这就生成 完整备份 与 差异备份 的子计划了,
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/7.jpg
  (图7)
  8.      在完整备份的设计界面中,从左边拖拉一个【清除历史记录】的控件到右边,并双击进行下图的设置;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/8.jpg
  (图8)
  9.      从左边拖拉一个【清除维护】的控件到右边,并双击进行下图的设置,这里需要设置 完整备份 的路径和文件的扩展名;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/9.jpg
  (图9)
  10.   在步骤上加上箭头形成 完全备份 作业的流程图;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/10.jpg
  (图10)
  11.   在差异备份的设计界面中,从左边拖拉一个【清除历史记录】的控件到右边,并双击进行下图的设置;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/11.jpg
  (图11)
  12.   从左边拖拉一个【清除维护】的控件到右边,并双击进行下图的设置,这里需要设置 差异备份 的路径和文件的扩展名;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/12.jpg
  (图12)
  13.   在步骤上加上箭头形成 差异备份 作业的流程图;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/13.jpg
  (图13)
  14.   在维护计划下生成Ant_Backup,在代理中生成 完整备份与差异备份的作业;
http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/14.jpg

页: [1]
查看完整版本: SQL Server 维护计划实现数据库备份