这里是普通文章模块栏目内容页
SQL Server 图解备份(完全备份、差异备份、增量备份)和还原

SQL Server 图解备份(完全备份、差异备份、增量备份)和还原

常用的数据备份方式有完全备份、差异备份以及增量备份,那么这三种备份方式有什么区别,在具体应用中又该如何选择呢?

1、三种备份方式

  • 完全备份(Full Backup):备份全部选中的文件夹,并不依赖文件的存档属性来确定备份哪些文件。在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份。换言之,清除存档属性。完全备份就是指对某一个时间点上的所有数据或应用进行的一个完全拷贝。实际应用中就是用一盘磁带对整个系统进行完全备份,包括其中的系统和所有数据。这种备份方式最大的好处就是只要用一盘磁带,就可以恢复丢失的数据。因此大大加快了系统或数据的恢复时间。
  • 差异备份(Differential Backup):备份自上一次完全备份之后有变化的数据。差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,也即备份后不标记为已备份文件。换言之,不清除存档属性。差异备份是指在一次全备份后到进行差异备份的这段时间内,对那些增加或者修改文件的备份。在进行恢复时,我们只需对第一次全备份和最后一次差异备份进行恢复。差异备份在避免了另外两种备份策略缺陷的同时,又具备了它们各自的优点。首先,它具有了增量备份需要时间短、节省磁盘空间的优势;其次,它又具有了全备份恢复所需磁带少、恢复时间短的特点。系统管理员只需要两盘磁带,即全备份磁带与灾难发生前一天的差异备份磁带,就可以将系统恢复。
  • 增量备份 (Incremental Backup ):备份自上一次备份(包含完全备份、差异备份、增量备份)之后有变化的数据。增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,既:备份后标记文件,换言之,清除存档属性。增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件。这就意味着,第一次增量备份的对象是进行全备份后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量备份后所产生的增加和修改的文件,如此类推。这种备份方式最显著的优点就是:没有重复的备份数据,因此备份的数据量不大,备份所需的时间很短。

2、差异备份与增量备份的区别

通过上面的概念分析可以知道,差异备份与增量备份的区别在于它们备份的参考点不同:前者的参考点是上一次完全备份、差异备份或增量备份,后者的参考点是上一次完全备份。

下图展示了差异备份与增量备份的区别,其中Cumulative为差异备份,Differetial增量备份:

3、不同备份类型组合应用

  • 完全备份 + 差异备份:以每周数据备份为例,在星期一进行完全备份,在星期二至星期五进行差异备份。如果在星期五数据被破坏了,则只需要还原星期一完全备份和星期四的差异备份。优缺点:这种策略备份数据需要较多的时间,但还原数据使用较少的时间。

  • 完全备份 + 增量备份:以每周数据备份为例,在星期一进行完全备份,在星期二至星期五进行增量备份。如果在星期五数据被破坏了,则你需要还原星期一完全备份和从星期二至星期五的所有增量备份。优缺点:这种策略备份数据需要较少的时间,但还原数据使用较多的时间。

4、差异备份和恢复示例

  1. 备份:差异备份与完整备份过程类似,只是备份类型选为差异备份
  2. 还原:在进行差异还原的时候要先进行[完整备份]还原,要注意一定要按照下图所示操作,否则会报错。不要着急点击确定,在选项中选中覆盖现有数据库,同时在恢复状态处选择第二个RESTORE WITH NORECOVERY
  • RESTORE WITH RECOVERY 是默认行为,它通过回滚未提交的事务,使数据库处于可以使用的状态。 无法还原其他事务日志。 如果您要立即还原所有必要的备份,则选择此选项。
  • RESTORE WITH NORECOVERY 不对数据库执行任何操作,不回滚未提交的事务。 可以还原其他事务日志。 除非恢复数据库,否则无法使用数据库。
  • RESTORE WITH STANDBY 使数据库处于只读模式。 它撤消未提交的事务,但将撤消操作保存在备用文件中,以便能够还原恢复结果。

点击确定后,可以看到数据库仍处于正在还原状态

然后在数据库上右击 → 任务 → 还原 → 选择数据库,再进行差异还原

选中设备,然后添加进备份的文件,点击确定即可。