51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> sqlserver >> 文章正文

还原数据库时显示:该LSN 太晚,无法应用到数据库

更新时间:2013-6-11:  来源:51代码网

还原数据库时显示:该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

赞助商链接
推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |