Sql server 的完整备份和差异备份
完整备份当然就是将数据库的数据全部备份
而差异备份指得是将上一次备份后到现在对数据的修改进行备份.
因此差异备份不能单独使用,只能先还原上一次的完整备份后,才能还原差异备份,
当有多个差异备份时,只需要选择指定日期的差异备份文件即可,不需要逐个还原在此期间的差异备份.
步骤为:
1、在需要还原的数据库上右键选择如图
2、在“常规”选项中点击“源设备”选取磁盘上备份好的.bak文件后,勾上“还原”选项的勾
3、在“选项”页面中,勾选上“覆盖现有数据库”,恢复状态,选择第一个“回滚未提交的事务。。。。”,其中在“行数据”和“日志”两个数据行中,务必查看“还原为”的路径是否指向了你需要还原的数据库名字 dbname.mdf和dbname_log.ldf,因为有些被还原的数据库名字和.bak备份文件中的名字不一样,导致还原失败。
4、点击确定后还原成功
当数据库文件很大,数据量很大,备份和还原需要花费不少时间的时候,数据库的差异备份自然就成为考虑的备份方案之一。
SQLSERVER2008的差异备份存在两种备份方式:
1. 先做一个完整备份,然后再做差异备份,差异备份的文件还是使用完整备份的那个文件,这样在完整备份集中就会存在两个
备份文件。还原的时候,都选中这个差异文件,还原选项选择“覆盖现有数据库”和“回滚未提交的事务......”这两项即可
2. 先做一个完整备份,然后再做一个差异备份,差异备份的文件不使用完整备份的那个文件,自己再新建一个差异备份文件。
这样磁盘上针对这两次备份就会存在两个备份文件。还原这两个备份文件时,先选择完整备份的文件,还原选项里选择
“覆盖现有数据库”和“不对数据库执行任何操作....” 完成还原后,会发现被还原的数据库名呈现“DBName(正在还原...)”
针对这个数据库再进行一次还原,选择差异备份文件后,直接点确定即可。
步骤截图:
1、首先如下图对数据库做一个完全备份后再做差异备份
2、进行差异还原的时候首选选择上图中_完全.bak文件进行还原,此时DB会显示 dbname(正在还原…)
3、在上图(正在还原…)的DB名字上,右键-》任务-》还原-》数据库,选择如上图的“源设备”选项,选择_差异2.bak,勾上还原
在“选项”页面做如下选择
点击确定后,差异还原成功执行。
注意:我们是直接选择的_差异2.bak进行的还原,这样的话也会将_差异1.bak中的数据还原到数据库中,因为_差异2.bak是从_差异1.bak上进行差异备份的。