数据库恢复待定 - SQL Server 2014

时间:2016-04-14 17:02:02

标签: sql-server

我的服务器正在关闭,因为电气。当我在SSMS中打开我的数据库时,数据库正在恢复。 我检查了我的错误日志,消息是:

  

在数据库中推进了4笔交易' POSDW' (14:0)。这是个   仅供参考。无需用户操作。   restoreHkDatabase:DbId 14,Msg 41313,Level 16,State 1,The C   编译器遇到了故障。退出代码是2。

     

[错误]数据库ID:[14]' POSDW'。无法加载XTP检查点。   错误代码:0x82000009。   (d:\ sql12_main_t \ sql \ ntdbms \ hekaton \ sqlhost \ sqlmin \ hkhostdb.cpp:3126    - ' RecoverHkDatabase')错误:41313,严重性:16,状态:1。

我已经尝试脱机但是当我上线时我收到错误。 你能帮助我吗?

由于

2 个答案:

答案 0 :(得分:0)

看起来像腐败。您可以尝试以下选项之一:

  1. 从现有备份还原
  2. 尝试将数据库输入紧急模式并运行DBCC CHECKDB。根据结果​​,您可以看到是否可以从现有备份(在某些情况下)还原页面或运行DBCC CHECKDB。
  3. 如果您有数据的功能副本,请从那里获取数据。
  4. 希望这有帮助。

答案 1 :(得分:0)

您可以在数据库文件处于“恢复等待”模式时移动它们,因为该状态意味着 SQL 由于某种原因无法打开数据库文件。这也意味着它也无法锁定文件。

将数据库设置为“离线”与此类似,因为它会解锁底层文件(这就是您可以在离线时移动数据库文件的原因)。

我很确定,如果您尝试将所有这些数据库设置为“在线”,您会收到您所说的错误消息或类似的信息。

ALTER DATABASE MyDB SET ONLINE

您可以使用上述语句来尝试激活“脱机”或“恢复待处理”模式的数据库。如果出现某种问题,SQL Server 会立即通知您。

您也可以阅读此主题:How to fix Recovery Pending State in SQL Server Database?