none
数据库restore后,数据库一直是正在还原途中的状态 RRS feed

  • 问题

  • 使用restore database pos_tes
          from disk = 'e:\databak\pos_2008.bak'
          with replace,norecovery,
          move 'sale_data' to 'f:\pos_test_data.mdf',
          move 'sale_log' to 'f:\pos_test_log.ldf'
    后成功,但是由于使用的是norecovery,所以数据库一直处于还原途中。
     
    然后使用restore log pos_test
                 from disk = 'e:\databak\pos_2008.bak'
                 with recovery
    后事务日志标记为该备份集LSN过早。无法还原,然后使用restore database pos_test
                                                                                        with recovery还原日志。由于突然停止运行。
    后数据库一直处于置疑状态。
     
    对其进行sp_detach_db后,想通过MDF文件恢复,不知道能否成功?
    2008年10月23日 1:09

答案

  •  杨军 写:
    使用restore database pos_tes
          from disk = 'e:\databak\pos_2008.bak'
          with replace,norecovery,
          move 'sale_data' to 'f:\pos_test_data.mdf',
          move 'sale_log' to 'f:\pos_test_log.ldf'
    后成功,但是由于使用的是norecovery,所以数据库一直处于还原途中。
     
    然后使用restore log pos_test
                 from disk = 'e:\databak\pos_2008.bak'
                 with recovery
    后事务日志标记为该备份集LSN过早。无法还原,然后使用restore database pos_test
                                                                                        with recovery还原日志。由于突然停止运行。
    后数据库一直处于置疑状态。
     
    对其进行sp_detach_db后,想通过MDF文件恢复,不知道能否成功?

     

    LSN错误很明显的显示了:

     

    你的这个日志备份不是在完全备份之后所做的日志备份,所以会提示LSN是早期的,你自己可以做个测试便知。

    我这边测试过,直接

    restore database pos_test
    with recovery
     
    后,是可以用的,至于你为什么变成了质疑,那就不清楚了,不过你可以试着通过修复质疑的数据库方法来恢复一下
    关于这个,可参考联机帮助,或者GOOGLE一下,很多关于这个的

     

    2008年10月23日 5:50
    版主

全部回复

  • 按紧急模式修复试下,或者新建日志文件试下。当然记得先备份好原始文件
    2008年10月23日 1:53
  •  

    从错误提示看, 你没有必要再还原日志

    执行下面的语句将做完 RECOVERY 处理就了

     

    Code Snippet

    RESTORE LOG pos_tes

    WITH RECOVERY;

     

     

    2008年10月23日 2:43
  •  杨军 写:
    使用restore database pos_tes
          from disk = 'e:\databak\pos_2008.bak'
          with replace,norecovery,
          move 'sale_data' to 'f:\pos_test_data.mdf',
          move 'sale_log' to 'f:\pos_test_log.ldf'
    后成功,但是由于使用的是norecovery,所以数据库一直处于还原途中。
     
    然后使用restore log pos_test
                 from disk = 'e:\databak\pos_2008.bak'
                 with recovery
    后事务日志标记为该备份集LSN过早。无法还原,然后使用restore database pos_test
                                                                                        with recovery还原日志。由于突然停止运行。
    后数据库一直处于置疑状态。
     
    对其进行sp_detach_db后,想通过MDF文件恢复,不知道能否成功?

     

    LSN错误很明显的显示了:

     

    你的这个日志备份不是在完全备份之后所做的日志备份,所以会提示LSN是早期的,你自己可以做个测试便知。

    我这边测试过,直接

    restore database pos_test
    with recovery
     
    后,是可以用的,至于你为什么变成了质疑,那就不清楚了,不过你可以试着通过修复质疑的数据库方法来恢复一下
    关于这个,可参考联机帮助,或者GOOGLE一下,很多关于这个的

     

    2008年10月23日 5:50
    版主