错误 8978
  主题上次更新时间 -- 2004 年 1 月严重级别 16
消息正文
表错误:对象 ID O_ID,索引 ID I_ID。页 P_ID1 缺少上一页 P_ID2 对它的引用。可能是因为链的链接有问题。解释
在 B 树中未检测到页 (P_ID2),尽管其页链中的邻居 (P_ID1) 在前一页链接中指向了它。这可能发生在 B 树的任一级别上。两个错误状态含义相同,区别仅在于发现错误的位置不同。对策
硬件故障进行硬件诊断,并更正任何问题。同时检查 Microsoft® Windows NT® 系统日志和应用程序日志以及 SQL Server™ 错误日志,查看错误是否由硬件故障引起的。解决与硬件相关的任何问题。 如果持续出现数据损坏问题,请逐个单独测试不同的硬件组件,找到问题原因。检查并确保系统未在磁盘控制器上启用写入缓存。如果怀疑这是问题原因,请与硬件供应商联系。最后,您可能发现切换到全新的硬件系统(包括重新格式化磁盘驱动器和重新安装操作系统)十分有用。 用备份还原如果此问题与硬件无关,并且拥有已知的干净备份,请使用该备份还原数据库。 DBCC CHECKDB如果没有干净的备份,请执行不带修复子句的 DBCC CHECKDB,以确定损坏程度。DBCC CHECKDB 将建议您使用什么修复子句。然后,执行带相应修复子句的 DBCC CHECKDB 以修复损坏部分。 警告  如果不能确定执行带修复子句的 DBCC CHECKDB 语句将对数据产生什么样的影响,请在执行此语句前与主要支持提供者联系。
修复操作将重新构建索引。如果运行带某个修复子句的 DBCC CHECKDB 后仍不能纠正此问题,请与主要的支持提供者联系。

解决方案 »

  1.   

    这种损坏不一定能修复
    如果dbcc 修复不了,建议你新建一个空库,将数据导过去,然后用新库代替旧库
      

  2.   

    没有什么好办法,难道你能确定那些表是坏的?如果可以确定那些表是坏的,在SQL的导入/导出向导中,可以只选择好的表来导.