Sql server 的完整备份和差异备份

时间:2022-12-02 14:08:09
Sql server  的完整备份和差异备份

完整备份当然就是将数据库的数据全部备份

而差异备份指得是将上一次备份后到现在对数据的修改进行备份.

因此差异备份不能单独使用,只能先还原上一次的完整备份后,才能还原差异备份,

当有多个差异备份时,只需要选择指定日期的差异备份文件即可,不需要逐个还原在此期间的差异备份.

 

步骤为:

1、在需要还原的数据库上右键选择如图

Sql server  的完整备份和差异备份

2、在“常规”选项中点击“源设备”选取磁盘上备份好的.bak文件后,勾上“还原”选项的勾

Sql server  的完整备份和差异备份

3、在“选项”页面中,勾选上“覆盖现有数据库”,恢复状态,选择第一个“回滚未提交的事务。。。。”,其中在“行数据”和“日志”两个数据行中,务必查看“还原为”的路径是否指向了你需要还原的数据库名字 dbname.mdf和dbname_log.ldf,因为有些被还原的数据库名字和.bak备份文件中的名字不一样,导致还原失败。

Sql server  的完整备份和差异备份

4、点击确定后还原成功

 

当数据库文件很大,数据量很大,备份和还原需要花费不少时间的时候,数据库的差异备份自然就成为考虑的备份方案之一。

SQLSERVER2008的差异备份存在两种备份方式:

1. 先做一个完整备份,然后再做差异备份,差异备份的文件还是使用完整备份的那个文件,这样在完整备份集中就会存在两个

   备份文件。还原的时候,都选中这个差异文件,还原选项选择“覆盖现有数据库”和“回滚未提交的事务......”这两项即可

2. 先做一个完整备份,然后再做一个差异备份,差异备份的文件不使用完整备份的那个文件,自己再新建一个差异备份文件。

  这样磁盘上针对这两次备份就会存在两个备份文件。还原这两个备份文件时,先选择完整备份的文件,还原选项里选择

“覆盖现有数据库”和“不对数据库执行任何操作....” 完成还原后,会发现被还原的数据库名呈现“DBName(正在还原...)”

  针对这个数据库再进行一次还原,选择差异备份文件后,直接点确定即可。

 

步骤截图:

1、首先如下图对数据库做一个完全备份后再做差异备份

Sql server  的完整备份和差异备份

 

2、进行差异还原的时候首选选择上图中_完全.bak文件进行还原,此时DB会显示 dbname(正在还原…)

Sql server  的完整备份和差异备份

Sql server  的完整备份和差异备份

Sql server  的完整备份和差异备份

 

3、在上图(正在还原…)的DB名字上,右键-》任务-》还原-》数据库,选择如上图的“源设备”选项,选择_差异2.bak,勾上还原

在“选项”页面做如下选择

Sql server  的完整备份和差异备份

 

点击确定后,差异还原成功执行。

注意:我们是直接选择的_差异2.bak进行的还原,这样的话也会将_差异1.bak中的数据还原到数据库中,因为_差异2.bak是从_差异1.bak上进行差异备份的。

From:http://www.cnblogs.com/ivanyb/archive/2013/01/23/2873437.html