SQLServer数据库差别备份

差别备份 (differential backup)定义

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

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

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

clipboard.png

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

clipboard.png

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

clipboard.png

四、在定位数据库文件弹出框中,先选择须要备份的文件路径,而后数据备份文件名,点击肯定。日志

clipboard.png

五、在备份数据库弹出框,点击肯定。ip

clipboard.png

六、查看备份是否成功。it

clipboard.png

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

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

还原数据库步骤test

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

clipboard.png

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

clipboard.png

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

clipboard.png

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

clipboard.png

五、进入还原模式。

clipboard.png

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

clipboard.png

七、查看数据库状态。

clipboard.png

还原差别文件步骤
一、选择要还原的数据库-》右键点击-》选择任务-》选择还原-》选择文件和文件组。

clipboard.png

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

clipboard.png

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

clipboard.png

四、在定位备份文件弹出框-》选择要还原的差别文件-》点击肯定。

clipboard.png

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

clipboard.png

六、选择恢复状态-》点击肯定。

clipboard.png

七、还原结果。

clipboard.png

clipboard.png

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

语法:backup database 数据库名 to disk=文件路径 with differential;
示例:backup database testss to disk='D:SqlTestbackupt3.bak' with differential;

clipboard.png

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

语法:
第一步先指定数据库恢复模式:restore database 数据库名 from disk=数据库文件 with norecovery ;
第二步再恢复差别备份:restore database 数据库名 from disk=差别文件 with recovery;
示例:
第一步先恢复备份数据库:restore database testss from disk='D:SqlTestbackuptestss.bak' with norecovery ;
第二步再恢复差别备份:restore database testss from disk='D:SqlTestbackupt3.bak' with recovery;
(注意数据库若是存在,可删除或者使用覆盖先有数据库)

clipboard.png

总结

优势:
一、与建立完整备份相比,建立差别备份的速度可能很是快。 差别备份只记录自差别备份所基于的完整备份后更改的数据。 这有助于频繁地进行数据备份,减小数据丢失的风险。 可是,在还原差别备份以前,必须先还原其基准。 所以,从差别备份进行还原必然要比从完整备份进行还原须要更多的步骤和时间,由于这须要两个备份文件。
二、若是数据库的某个子集比该数据库的其他部分修改得更为频繁,则差别数据库备份特别有用。 在这些状况下,使用差别数据库备份,您能够频繁执行备份,而且不会产生完整数据库备份的开销。
三、在完整恢复模式下,使用差别备份能够减小必须还原的日志备份的数量。

缺点:差别备份基于最后一次完整备份的差别,那么,对于一个繁忙的数据库,在一段时间内作了几回差别备份,不管这中间有多少次Checkpoint,SQL Server依然将这些基于完整备份的差别页面放入差别备份文件,按道理来讲,一个页面在一次Checkpoint以后,若是没有再发生任何修改,那么是不须要放入差别备份文件里面的(若是是基于最后一次差别的差别),由于差别位图没法基于差别的差别,这样会致使,有时候差别备份文件比完整备份文件还要大。

相关文章
相关标签/搜索