内存优化数据库恢复

Memory Optimized Database recovery

提问人:Mr. K 提问时间:6/20/2018 最后编辑:EzLoMr. K 更新时间:6/20/2018 访问量:1899

问:

在某些情况下,我的数据库(带有内存优化表)已进入“恢复挂起”状态。我试着把它放进去

emergency mode-->Single User Mode--> DBCC CHECKDB(<DBName>)--->set it online--->Multiuser mode. 

但是我在执行在线模式时面临以下错误消息。

消息 5181,级别 16,状态 5,第 9 行无法重新启动数据库 “DBName”。恢复到以前的状态。消息 5069,级别 16,状态 1、第 9 行 ALTER DATABASE 语句失败。消息 41316,级别 23,状态 3,第 3395 行数据库“DBName”的还原操作失败 内部错误代码“0x0000000a”

我试图检查SQL错误日志文件,并显示以下消息。

[错误]数据库 ID:[6] ''。无法加载 XTP 检查点。错误 代码:0x88000001。 (d:\b\s2\sources\sql\ntdbms\hekaton\sqlhost\sqlmin\hkhostdb.cpp : 5288 - 'HkHostRecoverDatabaseHelper::ReportAndRaiseFailure')

并且也不支持重建内存优化数据库的日志文件。有谁知道熟悉这样的错误?

sql-server-2016 in-memory-database database-restore

评论

0赞 Jeroen Mostert 6/20/2018
自 2016 年 RTM 以来,内存中 OLTP 修复了很多错误,其中一些是针对非常基本的问题。截至撰写本文时,2016 年的最新版本是 2016 SP2 CU1;如果您还没有这样做,我建议您在继续之前进行升级。
0赞 Mr. K 6/20/2018
@JeroenMostert这样做可以解决我目前的问题吗?
0赞 Jeroen Mostert 6/20/2018
如果我答应你,那我就傻了。我的观点是,如果您有机会升级,您应该,即使只是为了绕过所有其他已知问题,并且可能获得可以恢复数据库的版本。我的经验是,无法联机的内存中 OLTP 数据库通常“永远丢失”,因为从备份中恢复(可能在删除整个数据库之后)是取得实际进展的唯一方法,因为对它们知之甚少甚至一无所知。DBCC CHECKDB

答: 暂无答案