还原数据库时显示:该LSN 太晚,无法应用到数据库
我对数据库test进行了完整备份之后删除了table1表的一条记录,然后再进行事务日志备份,可还原的时候提示说该LSN 太晚,无法应用到数据库,请问大家应该如何安排这个备份呢?操作代码和异常代码如下:
backup db test to disk='d:\test_data.bak'
delete from table1 where a=3
select dt=getdate() into #
backup log test to disk='d:\test_log.bak'
restore database test from disk='d:\test_data.bak' with replace,NORECOVERY
DECLARE @dt datetime
select @dt=dateadd(ms,-40,dt) from #
restore log test from disk='d:\test_log.bak' with recovery,stopat=@dt
消息 4305,级别 16,状态 1,第 3 行
此备份集中的日志开始于 LSN 18000000022900001,该 LSN 太晚,无法应用到数据库。可以还原包含 LSN 18000000022300001 的较早的日志备份。
消息 3013,级别 16,状态 1,第 3 行
RESTORE LOG 正在异常终止。
顺便问一下,我第一次做完整备份,接下来做事务日志备份,第一次事务日志备份可否选择截断事务日志? 在你还原的日志备份之前还有其他备份,先要还原其他日志备份才可以。 还原到时间点需要注意:
1、你用的完整备份是不是最新的完整备份,日志也是最新的,这样,还原的最早时间点是日志的备份时间。
2、如果你需要还原到更早,需要找到更早的完整备份和日志+当前的日志。
3、还原时间点:最初的完整备份+日志1+日志2+......+日志N,这样,数据库就可以还原到任何一个时间点。
记住,日志备份一定不能丢。 从LZ所提供备份->恢复的语句看,应无此问题的,真实情况应该不止这些语句吧?
我第一次做完整备份,接下来做事务日志备份,第一次事务日志备份可否选择截断事务日志?
--> 备份日志即自动截断事务日志的.
backup database test to disk='d:\test_data.bak'delete from test.dbo.a where id=10 select dt=getdate() into # backup log test to disk='d:\test_log2.bak'restore database test1 from disk='d:\test_data.bak' with replace,NORECOVERY, MOVE 'test' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf', MOVE 'test_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf' DECLARE @dt datetime select @dt=dateadd(ms,-40,dt) from # restore log test1 from disk='d:\test_log2.bak' with recovery,stopat=@dt