差异备份 (differential backup)定义

一种数据备份,基于完整数据库或部分数据库或一组数据文件或文件组(差异基准)的最新完整备份,并且仅包含自确定差异基准以来发生更改的数据。

使用SSMS数据库管理工具进行数据库差异备份

1、选择数据库-》右键点击-》选择任务-》选择备份。

2、在备份数据库弹出框中-》选择备份类型为差异-》然后删除系统生成的目标文件-》然后点击添加。

3、在选择备份目标弹出框中-》点击选择备份路径。

4、在定位数据库文件弹出框中,先选择需要备份的文件路径,然后数据备份文件名,点击确定。

5、在备份数据库弹出框,点击确定。

6、查看备份是否成功。

使用SSMS数据库管理工具进行数据库差异还原

差异备份与还原须知:差异备份是上次完整备份之后发生改变的副本。所以还原是需要上次的完整备份和最近一次差异备份。差异还原有两步操作,第一步为还原数据库,第二步还原差异部分。

还原数据库步骤

1、选择数据库-》右键点击-》选择任务-》选择还原-》选择数据库。

2、在还原数据库弹出框中-》先点击设备-》再点击还原文件路径。

3、在选择备份设备弹出框中-》点击添加文件。

4、在定位备份文件弹出框中-》先选择文件夹-》再选择要还原的文件-》点击确定。

5、进入还原模式。

6、覆盖现有数据库可不勾选-》选择数据库恢复模式为设置为NORecorvery。

7、查看数据库状态。

还原差异文件步骤

1、选择要还原的数据库-》右键点击-》选择任务-》选择还原-》选择文件和文件组。

2、在还原文件和文件组弹出框-》选择设备-》选择文件还原路径。

3、在选择备份设备弹出框-》选择添加。

4、在定位备份文件弹出框-》选择要还原的差异文件-》点击确定。

5、在还原文件和文件组弹出框-》选择文件-》点击选项。

6、选择恢复状态-》点击确定。

7、还原结果。

使用T-SQL脚本进行差异备份

语法:backup database 数据库名 to disk=文件路径 with differential;

示例:backup database testss to disk='D:\SqlTest\backup\t3.bak' with differential;

使用T-SQL脚本进行差异还原

语法:第一步先指定数据库恢复模式:restore database 数据库名 from disk=数据库文件 with norecovery ;

第二步再恢复差异备份:restore database 数据库名 from disk=差异文件 with recovery;
示例:第一步先恢复备份数据库:restore database testss from disk='D:\SqlTest\backup\testss.bak' with norecovery ;

第二步再恢复差异备份:restore database testss from disk='D:\SqlTest\backup\t3.bak' with recovery;

(注意数据库如果存在,可删除或者使用覆盖先有数据库)

总结

优点:1、与创建完整备份相比,创建差异备份的速度可能非常快。 差异备份只记录自差异备份所基于的完整备份后更改的数据。 这有助于频繁地进行数据备份,减少数据丢失的风险。 但是,在还原差异备份之前,必须先还原其基准。 因此,从差异备份进行还原必然要比从完整备份进行还原需要更多的步骤和时间,因为这需要两个备份文件。

   2、如果数据库的某个子集比该数据库的其余部分修改得更为频繁,则差异数据库备份特别有用。 在这些情况下,使用差异数据库备份,您可以频繁执行备份,并且不会产生完整数据库备份的开销。

   3、在完整恢复模式下,使用差异备份可以减少必须还原的日志备份的数量。

缺点:差异备份基于最后一次完整备份的差异,那么,对于一个繁忙的数据库,在一段时间内做了几次差异备份,无论这中间有多少次Checkpoint,SQL Server依然将这些基于完整备份的差异页面放入差异备份文件,按道理来说,一个页面在一次Checkpoint之后,如果没有再发生任何修改,那么是不需要放入差异备份文件里面的(如果是基于最后一次差异的差异),因为差异位图无法基于差异的差异,这样会导致,有时候差异备份文件比完整备份文件还要大。

SQLServer数据库差异备份的更多相关文章

  1. 好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

    转载:http://www.cnblogs.com/lyhabc/p/3322437.html 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是 ...

  2. 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

    原文:挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自 ...

  3. SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

    挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自动备份数据库,一键还原数据库,发送备份数据库日志报告到邮箱,自动压缩备份好的数据库 定期执行数 ...

  4. [SQL SERVER 2005]数据库差异备份及还原

    因为之前遇到还原差异备份,最开始遇到SQLServer报错:”无法还原日志备份或差异备份,因为没有文件可用于前滚“.查阅很多资料后,终于得到解决.收集整理成这篇随笔. 问题原因:出现这种错误绝大多数是 ...

  5. sqlserver2012 数据库差异备份恢复 记录

    sqlserver2012恢复过程: 先恢复全备份,再恢复差异,注意:勾选NoRecovery选项. 恢复完成后,出现: Sqlserver数据库 一直显示“正在还原…” 的状态. 引用:http:/ ...

  6. sqlserver数据库的备份与还原——完整备份与还原

    sqlserver提供四种数据库备份方式 完整备份:备份整个数据库的所有内容包括书屋和日志 差异备份:只备份上次完整备份后更高的数据部分 事务日志备份:只备份事务日志里的内容 文件或文件组备份:只备份 ...

  7. sqlserver还原差异备份

    因为之前遇到还原差异备份,最开始遇到SQLServer报错:"无法还原日志备份或差异备份,因为没有文件可用于前滚".查阅很多资料后,终于得到解决.收集整理成这篇随笔. 问题原因:出 ...

  8. SqlServer数据库同时备份到两台服务器上(并自动删除过期文件)

    数据库同时备份到两台服务器上(并自动删除过期文件) 举例 :(本地)服务器A: IP :192.168.1.1 (远程)服务器B: IP :192.168.1.2 数据库版本:SqlServer200 ...

  9. C# 编写的SqlServer 数据库自动备份服务,带配置,功能强大

    数据库自动备份服务,带配置,还算可以吧 周末抽时间,编写了一个这样的工具,可以让,对数据库不了解或不熟悉的人,直接学会使用备份,省时省力,同样,我也将一份,通过脚本进行备份的,也奉献上来, 通过sql ...

随机推荐

  1. Webpack+Vue如何导入Jquery和Jquery的第三方插件

    创建一个jquery-vendor.js文件 import $ from 'jQuery'; console.log($); window.$ = $; window.jQuery = $; expo ...

  2. 厉害—Ansible管理windows集群

    最近公司新项目需要安装400+windows server 2012系统的工作站,想着怎么能像linux下运用ansible批量管理,linux就很简单了有ssh服务 但是下却没这么简单,但还是有办法 ...

  3. Python爬虫入门教程 7-100 蜂鸟网图片爬取之二

    蜂鸟网图片--简介 今天玩点新鲜的,使用一个新库 aiohttp ,利用它提高咱爬虫的爬取速度. 安装模块常规套路 pip install aiohttp 运行之后等待,安装完毕,想要深造,那么官方文 ...

  4. 5分钟入门git模式开发

    本文由云+社区发表 作者:唐维黎 导语 基于gui工具TortoiseGit让你快速进入git开发模式. 目前项目已逐步从svn移步到git开发模式,其中也针对git统一协议了适合git的开发规范, ...

  5. 痞子衡嵌入式:ARM Cortex-M内核那些事(4)- 性能指标

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M性能指标. 1.处理器的性能指标 用于评价CPU的性能指标非常多,不同的性能侧重点下的测试标准可能得出的指标值不 ...

  6. ajax跨域请求,亲测有效

    跨域请求域有两种常用解决方案,jsonp和cors, 因为jsonp只能解决get请求问题,我这里用的是cors方法. js前端ajax请求: $.ajax({ url: "http://1 ...

  7. 配置多个 git 账号的 ssh密钥

    背景 在工作中,我们通常会以 ssh 的方式配置公司的 git 账号,但是平时也会使用 github 管理自己的项目.因此,我们需要为自己的 github 创建一个新的 git 账号,这就需要生成新的 ...

  8. Java开发笔记(七十九)利用反射技术操作私有属性

    早在介绍多态的时候,曾经提到公鸡实例的性别属性可能被篡改为雌性,不过面向对象的三大特性包含了封装.继承和多态,只要把性别属性设置为private私有级别,也不提供setSex这样的性别修改方法,那么性 ...

  9. Python 面向对象之反射

    Python 面向对象之反射 TOC 什么是反射? hasattr getattr setattr delattr 哪些对象可以使用反射 反射的好处 例子一 例子二 什么是反射? 程序可以访问.检查和 ...

  10. spring----bean的使用

    这篇文章不介绍spring的相关概念,只记录一下springbean的创建方式和使用方式. 一.bean的创建和调用 1.创建演示需要用到的类:Student.Teacher.Person packa ...