sqlserver还原日志备份或者差异备份语句根据事务日志还原备份
发布时间:2024/6/26 9:52:11 作者:Admin 阅读:45
广告:
RESTORE HEADERONLY FROM DISK = 'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\paper_LogBackup_2024-06-26_09-39-06.bak';
use master go RESTORE LOG MyDatabase FROM DISK = 'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\paper_LogBackup_2024-06-26_09-39-06.bak' WITH FILE = 1, NORECOVERY;
如果错误会提示:
消息 3117,级别 16,状态 4,第 1 行
无法还原日志备份或差异备份,因为没有文件可用于前滚。
消息 3013,级别 16,状态 1,第 1 行
RESTORE LOG 正在异常终止。
解决:
出现这种错误绝大多数是因为还原完整备份没有选择“恢复状态-->不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志”。下面详细分解操作步骤。
步骤一:还原完整备份文件TestBackupDB-full.bak,恢复状态选项:不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH NORECOVERY)
步骤二:还原差异备份文件TestBackupDB-diff.bak,操作按正在还原步骤即可,恢复状态选项:回滚未提交的事务,使数据库处于可以使用状态。无法还原其他事务日志(L)。(RESTORE WITH RECOVERY)。
广告:
相关文章