数据库恢复挂起-SQL Server 2014



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

数据库"POSDW"中的4个前滚事务(14:0)。这是一个仅供参考。无需用户操作。restoreHkDatabase:DbId 14,Msg 41313,级别16,状态1,C编译器遇到故障。退出代码为2。

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

我已经尝试过脱机,但当我联机时,我会出错。你们能帮帮我吗?

感谢

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

  1. 从现有备份还原
  2. 请尝试将数据库输入紧急模式,然后运行DBCC CHECKDB。根据结果,您可以查看是否可以从现有备份中恢复页面(在某些情况下)或运行DBCC CHECKDB
  3. 如果您有数据的功能副本,请从中获取数据

希望这能有所帮助。

当数据库文件位于";恢复挂起";模式,因为该状态意味着SQL由于某种原因无法打开数据库文件。这也意味着它无法锁定文件。

将数据库设置为";脱机";是类似的,因为它解锁了底层文件(这就是为什么您可以在离线时移动数据库文件)。

我敢肯定,如果你尝试将所有这些数据库设置为";在线";你会收到你所说的错误信息或类似的信息。

ALTER DATABASE MyDB SET ONLINE

您可以使用上面的语句来尝试激活数据库;脱机";或处于";恢复挂起";模式如果出现某种问题,SQL Server会立即通知您。

您还可以阅读以下线程:如何修复SQL Server数据库中的恢复挂起状态?

最新更新