SQLServer数据库差异备份

差异备份 (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之后,如果没有再发生任何修改,那么是不需要放入差异备份文件里面的(如果是基于最后一次差异的差异),因为差异位图无法基于差异的差异,这样会导致,有时候差异备份文件比完整备份文件还要大。

原文地址:https://www.cnblogs.com/vuenote/p/9456629.html

时间: 2024-10-09 08:14:45

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

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

转载:http://www.cnblogs.com/lyhabc/p/3322437.html 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自动备份数据库,一键还原数据库,发送备份数据库日志报告到邮箱,自动压缩备份好的数据库 定期执行数据库备份任务,取代SSMS的维护计划,上传数据库备份文件到FTP服务器.其他网络硬盘等 软件有免费和付费两种模式,不过本人觉得免费版本的功能已经足够了 支持SQLSERVER版本:SQLSERVER200

数据库差异备份与增量备份的不同之处

对于许多初学者来说,很难将差异备份和增量备份这两个概念理解透彻,本文中,我们将把增量备份与差异备份的具体定义和不同之处分别进行讲解: 差异备份的定义: 备份自上一次完全备份之后有变化的数据. 增量备份的定义: 备份自上一次备份(包含完全备份.差异备份.增量备份)之后有变化的数据. 按此原理 SQL Server 2000 数据库上只有差异备份,没有增量备份.虽然我们在联机丛书上搜索“增量备份”,有两条结果. 增量备份和差异备份的区别: 在Windows中一般都三种备份种类:完全备份.差异备份.增

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

sqlserver提供四种数据库备份方式 完整备份:备份整个数据库的所有内容包括书屋和日志 差异备份:只备份上次完整备份后更高的数据部分 事务日志备份:只备份事务日志里的内容 文件或文件组备份:只备份文件或文件组中的某些文件 在数据库完整备份期间,sqlserver做一下工作: 备份数据以及数据库中的所有表的结构和相应的文件结构 备份在备份期间发生的所有活动 备份在事务日志中未确认的事务 备份过程: 右击要备份的数据库--->任务--->备份 可以选择备份类型以及备份文件的存放位置. 还原过程

sqlserver完整差异备份还原

Sql server  的完整备份和差异备份 完整备份当然就是将数据库的数据全部备份 而差异备份指得是将上一次备份后到现在对数据的修改进行备份. 因此差异备份不能单独使用,只能先还原上一次的完整备份后,才能还原差异备份, 当有多个差异备份时,只需要选择指定日期的差异备份文件即可,不需要逐个还原在此期间的差异备份. 步骤为: 1.在需要还原的数据库上右键选择如图 2.在"常规"选项中点击"源设备"选取磁盘上备份好的.bak文件后,勾上"还原"选项的

完整备份数据库+差异备份,恢复到另外一台服务器

材料:完整备份数据库一份.最近备份的差异备份一份 现在需要将它完整的恢复到另外一台数据库服务器上. 首先 左侧数据库-右键-还原数据库 然后目标数据库手动输入一个名字. 下面源设备选择完整数据库文件,然后确定后会出现在 选择用于还原的备份集 那里,勾选中完整的那份.然后左侧选项 填写一下 mdf 文件路径等 最主要的是下面那个要选择中间那个选项,以便恢复完了以后还能继续恢复差异备份 点击确认后,数据开始恢复,恢复完了以后,刷新一下左侧的数据库列表,会发现刚刚那个输入的数据库名字,显示的是 正在还

sqlserver数据库的备份和还原

1.首先备份数据库: 注意事项已经用红线标出,并且文件的后缀名,自己加上.bak 2.数据库的还原: 还原数据库时的注意事项,已经在第三张图片中标出,否则会出现还原失败的情况 原文地址:https://www.cnblogs.com/hupengyin/p/11739218.html

SQLServer数据库差异比较

//https://www.cnblogs.com/Leo_wl/p/11069813.html /* 使用说明:Old数据库为DB_V1,New数据库为[localhost].DB_V2.根据实际需要批量替换数据库名称 脚本来源:https://www.cnblogs.com/zhang502219048/p/11028767.html */ -- sysobjects插入临时表 select s.name + '.' + t.name as TableName, t.* into #temp

SQLServer 多点及时备份技巧

为了保证数据库的安全性,我们都会规划数据库的容灾策略,包括本地备份.异地备份.raid,或者使用高可用性(如 日志传送.镜像.复制等)进行异地容灾.由于 SqlServer 数据库的备份只有一个备份策略(如 完整-差异-日志),对某个数据库中,只创建一个完整的策略,不要创建多个,否则备份链对不上,备份各在一方.对于备份,一般使用 完整备份+差异备份+日志备份,或者 完整备份+差异备份+日志传送,但是备份只有一个文件.为了在异地也保存有相同的备份,SqlServer 有几种参数可设置多地保存,如 

SQL Server差异备份的备份/还原原理

SQL Server差异备份的备份/还原原理 记住一点:差异备份是基于最后一次完整备份的差异,而不是基于最后一次差异的差异 备份过程: 1-完整备份之后有无对数据库做过修改,如果有,记录数据库的最后LSN(Last LSN) 如果完整备份之后无对数据库做过修改,那么差异备份就没有意义了 2-做差异备份时根据差异位图读取差异页面内容 注意:差异位图记录了自从最后一次完整备份以来数据库中有变化的页面,这样在做差异备份时候就不用扫全库页面,只需要读取有差异的页面 3-在备份之前,数据库会做一次检查点,