当前位置 返回首页 > 修复案例 > 正文

数据库由于索引损坏通过dbcc checkdb修复后记录有缺失的恢复案例

可能断电之类的情况引起数据库置疑 ,在重新附加mdf文件提示

错误3456:未能恢复日志记录(425:1157:2),事物ID(0:368377) ,位于页(1:253),数据库’Card_Enp’(13) 。页:lsn = (424:13171:2) ,类型 =1 。 日志:opcode=4,上下文2,prevpageLsn:(425:683:2)
如图
错误3456

Sql Server置疑数据库解决方法将数据库成功加载 ,用dbcc checkdb检查数据库 ,显示结果

服务器: 消息 8978,级别 16,状态 1,行 1
表错误: 对象 ID 53575229,索引 ID 3。页 (1:4065) 缺少上一页 (1:1229) 对它的引用。可能是因为链的链接有问题。
CHECKDB 发现了 0 个分配错误和 1 个一致性错误(在表 ‘Consume’ 中,该表的对象 ID 为 53575229)。
服务器: 消息 8951,级别 16,状态 1,行 1
表错误: 表 ‘ST_Fund’(ID 2050106344)。索引 ‘XIF1ST_Fund’(ID 2)中下列行的键缺少或无效:
服务器: 消息 8955,级别 16,状态 1,行 1
数据行(1:3914:92)(由 RID = (1:3914:92) ID_KEY = 13609 标识)的索引值为 Person_ID = 425 and ID_KEY = 13609。
服务器: 消息 8951,级别 16,状态 1,行 1
表错误: 表 ‘ST_Fund’(ID 2050106344)。索引 ‘XIF1ST_Fund’(ID 2)中下列行的键缺少或无效:
服务器: 消息 8955,级别 16,状态 1,行 1
数据行(1:3914:98)(由 RID = (1:3914:98) ID_KEY = 13615 标识)的索引值为 Person_ID = 423 and ID_KEY = 13615。
服务器: 消息 8951,级别 16,状态 1,行 1
表错误: 表 ‘ST_Fund’(ID 2050106344)。索引 ‘XIF1ST_Fund’(ID 2)中下列行的键缺少或无效:
服务器: 消息 8955,级别 16,状态 1,行 1
数据行(1:3914:102)(由 RID = (1:3914:102) ID_KEY = 13619 标识)的索引值为 Person_ID = 381 and ID_KEY = 13619。
服务器: 消息 8951,级别 16,状态 1,行 1
表错误: 表 ‘ST_Fund’(ID 2050106344)。索引 ‘XIF1ST_Fund’(ID 2)中下列行的键缺少或无效:
服务器: 消息 8955,级别 16,状态 1,行 1
数据行(1:3914:123)(由 RID = (1:3914:123) ID_KEY = 13640 标识)的索引值为 Person_ID = 368 and ID_KEY = 13640。

索引这方面出错, 错误消息8951,8955,8951 这几个报错还是比较好修复,直接用命令可以修复 。

好了,我先试命令直接修复, ok,数据库正常了 , select客户要的几个表看看记录, 发现缺失了几天的数据, 应该跟索引修复有关 。使用数据库修复中心自主开发的修复软件进行提取数据,数据全部恢复 ,之前缺失的记录也都在 。

上一篇 河南某宾馆数据库错误5172提示不是有效数据库文件头的修复案例下一篇 TempDB损坏的处理