我收到了很多错误DBCC CHECKDB
,包括:
消息 8939,级别 16,状态 98,第 1 行
表错误:对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 3667181342891245568(未知类型),页面 (7791:-1694668604)。测试 (IS_OFF (BUF_IOERR, pBUF->bstat)) 失败。值为 133129 和 -12。
消息 8928,级别 16,状态 1,行 1
对象 ID 405576483,索引 ID 73,分区 ID 72057594049200128,分配单元 ID 72057594054246400(行内数据类型):无法处理页面 (1:194923)。有关详细信息,请参阅其他错误。
消息 8976,级别 16,状态 1,行 1
表错误:对象 ID 405576483,索引 ID 73,分区 ID 72057594049200128,分配单元 ID 72057594054246400(类型行内数据)。页面 (1:194923) 未在扫描中看到,尽管其父级 (1:186194) 和前一个 (1:194922) 引用了它。检查任何以前的错误。
消息 8980,级别 16,状态 1,行 1
表错误:对象 ID 405576483,索引 ID 73,分区 ID 72057594049200128,分配单元 ID 72057594054246400(类型行内数据)。索引节点页面 (1:186194),插槽 103 引用子页面 (1:194924) 和前一个子页面 (1:194923),但没有遇到它们。
消息 8978,级别 16,状态 1,行 1
表错误:对象 ID 405576483,索引 ID 73,分区 ID 72057594049200128,分配单元 ID 72057594054246400(类型行内数据)。页面 (1:194932) 缺少上一页 (1:194931) 的引用。可能的连锁问题。
最重要的是,最后会转达以下内容:
CHECKDB 在数据库“houseme”中发现 0 个分配错误和 28 个一致性错误。
repair_allow_data_loss 是 DBCC CHECKDB (houseme) 发现的错误的最低修复级别。
我该怎么办?
的输出
DBCC CHECKDB
已经告诉您确切的操作:如果选项的名称不够明显,这可能会导致数据丢失- 但如果没有备份,您真的别无选择。
如果这不起作用,并且您没有备份,那么您可能刚刚学到了关于为什么应该进行备份的非常昂贵的课程。你可以看看Paul Randal 是否有其他想法,或者这个想法来自 Steve Stedman。当然,没有保证。
如果多次尝试后仍然存在一致性错误,那么可能是时候创建一个新数据库,尽可能多地迁移一致的数据,并减少损失。