因为之前遇到还原差异备份,最开始遇到SQLServer报错:”无法还原日志备份或差异备份,因为没有文件可用于前滚“。查阅很多资料后,终于得到解决。收集整理成这篇随笔。
问题原因:出现这种错误绝大多数是因为还原完整备份没有选择“恢复状态–>不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志”。下面详细分解操作步骤。
案例背景:创建一个叫TestBackup的数据库,创建一张叫Table1的表,这个时候进行一次完整备份,备份文件为:TestBackupDB-full.bak;接着创建表Table2后进行差异备份,备份文件为:TestBackupDB-diff.bak
创建一个叫TestBackup2的数据库,用于测试TestBackup数据库的备份文件的还原。
下面我们就可以对备份文件:TestBackupDB-full.bak、TestBackupDB-diff.bak进行还原:
数据库差异备份文件还原:
步骤一:还原完整备份文件TestBackupDB-full.bak,恢复状态选项:不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH NORECOVERY)