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

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 使数据库处于只读模式。 它撤消未提交的事务,但将撤消操作保存在备用文件中,以便能够还原恢复结果。

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

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

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

参考:微软官方文档 https://docs.microsoft.com/zh-cn/sql/relational-databases/backup-restore/restore-a-differential-database-backup-sql-server?view=sql-server-ver15

SQL Server 图解备份(完全备份、差异备份、增量备份)和还原的更多相关文章

  1. [每日一题] 11gOCP 1z0-052 :2013-08-30 差异的增量备份.....................................................A1

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/10669381 正确答案:AD 执行增量备份操作时,首先需要的是增量基本备份(increme ...

  2. MySQL备份与恢复之percona-xtrabackup实现增量备份及恢复 实例

    innobackupex 的使用方法1.完全备份 参数一是完全备份地址 完全备份到/data/mysql/back_up/all_testdb_20140612 目录下innobackupex --u ...

  3. MySQL 数据库备份策略:全备与增量备份

    一.备份策略1.周日全备份,周一至周六增量备份2.全备份目录/u03/backup/innobackup/full_backup3.增量备份目录/u03/backup/innobackup/incre ...

  4. sql server 备份与恢复系列五 完整模式下的备份与还原

    一.概述 前面介绍了简单恢复模式和大容量恢复模式,这篇继续写完整恢复模式下的备份与还原.在完整恢复模式里最大的优点是只要能成功备份尾日志,就可以还原到日志备份内包含的任何时点("时点恢复&q ...

  5. sql server 备份与恢复系列四 大容量模式下的备份与还原

    一. 概述 在sql server 备份与恢复系列的第一篇里,有讲到大容量模式下备份与还原的相关知识.这篇重点来演示在大容量模式下常用的备份与还原模式“完整备份+差异备份+日志备份”. 在大容量恢复模 ...

  6. Oracle数据库备份策略:全备与增量备份

    一.RMAN全备份 在数据量比较小.或者数据库服务器性能很强大的情况下,可以每天进行一次全备份. 全被策略如下 1.crontab定时任务,避开业务繁忙时段 ##################### ...

  7. SQL Server比较2table字段的差异

    由于项目前后用了2个数据库,需要统计数据库结构的变化,需要统计每个表的变化,由于人工核对挺浪费时间,就写了一点代码: 1.统计表的字段数量(查询表有多少列): select count(name)   ...

  8. ORACLE备份脚本(4-RMAN1级增量备份)

    创建目录 mkdir  -p  /bak/level1 mkdir  -p  /bak/arch1 chown -R oracle:oinstall  /bak/ vi  rmanlevel1.sh ...

  9. 一些常用数据库操作在mysql及sql server中实现方式的差异

    因为本文强调的是不同点,所以先讲述不同点,再讲相同点. 一.不同点 1.创建表时主键id的自增实现方式不一样 mysql数据库的实现方式是auto_increment,示例如下 CREATE TABL ...

  10. 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份

    在数据库管理中,数据库备份是非常重要的. 通过维护计划向导,可以很方便的完成数据库备份. 下面的例子说明了如何实现数据库的备份,具体的备份策略是:每周日一次完整备份.每天差异备份(除周日外).每小时日 ...

随机推荐

  1. 基于 ESP8266_RTOS_SDK 实现声控灯

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdint.h&g ...

  2. Java8新特性default关键字,引出Java多继承问题

    概述 最近在看JDK集合的源码时,在Collection接口中发现了default关键字,并且惊奇的发现接口中的方法居然包含方法体,这顿时让我产生兴趣,为此我也稍微研究了一下default关键字. 很 ...

  3. LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践

    LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践 1.多模态大模型推理 LLM 的推理流程: 多模态的 LLM 的原理: 代码演示:使用 ModelScope NoteBook 完 ...

  4. vue 的时间格式化

    大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国神游,多 ...

  5. 数据结构之栈(Java,C语言的实现)以及相关习题巩固

    目录 栈 概念以及代码实现 例题 232. 用栈实现队列 1614. 括号的最大嵌套深度 234. 回文链表 1614. 括号的最大嵌套深度 LCR 123. 图书整理 I 206. 反转链表 402 ...

  6. 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项

    为什么会突然想到写这么一个大杂烩的博文呢,必须要从笔者几年前的一次面试说起 当时的我年轻气盛,在简历上放了自己的博客地址,而面试官应该是翻了我的博客,好几道面试题都是围绕着我的博文来提问 其中一个问题 ...

  7. monaco-editor 实现SQL编辑器

    原文链接:https://www.yuque.com/sxd_panda/antv/editor 安装 yarn add monaco-editor 或 npm install monaco-edit ...

  8. kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output

    1.9.4 版本的kettle中有两个Excel输出,Excel输出和Microsoft Excel输出.前者只支持xls格式,后者支持xls和xlsx两种格式,本节课主要讲解步骤Microsoft ...

  9. 设置双击ps1脚本直接用Powershell打开

    设置双击ps1脚本直接用Powershell打开. 默认.ps1 文件双击是不能打开的,只能右键运行. 解决方法: 1.按windows+R打开运行,输入regedit,打开注册表 2.找到HKEY_ ...

  10. 算法金 | 一个强大的算法模型:t-SNE !!

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 t-SNE(t-Distributed Stochastic Neighbor Emb ...