找不到分区ID xxxxx的商品

时间:2014-10-06 00:20:22

标签: sql-server-2008-r2 corruption

我需要帮助理解此错误消息,以便向管理层解释问题。会议是星期一下午。问题发生在几天前,并通过恢复解决,因此问题仍未解决。

错误消息:

在数据库8中找不到分区ID 72057599467978752的商品。元数据不一致。运行DBCC CHECKDB以检查元数据是否损坏。

这是我目前所知道的:

  1. 当我对它们运行选择计数(*)时,有许多用户表产生了类似的错误。|
  2. 在损坏的db的sys.partitions中,没有partition_id,编号为72057599467978752.
  3. 在恢复的db的sys.partitions中,编号为72057599467978752 确实存在。
  4. 这是我需要知道的:

    1. partition_id是指什么?是一个物理位置 文件?

    2. 可能导致分区消失的原因。

    3. 数据库中的其他位置是这个partition_id(72057599467978752)     存储,它必须在某处才能将其置于错误中     消息。

    4. 感谢您的帮助。

      布赖恩

      注意:DBCC CHECKDB并不适合我们。 Msg 8921,Level 1,State 1,Line 1 检查已终止。收集事实时检测到失败。可能tempdb空间不足或系统表不一致。检查以前的错误。

1 个答案:

答案 0 :(得分:2)

  1. 所有表(即使未分区)都在内部作为分区进行跟踪。非分区表是单个分区。分区ID是该分区的ID值。它与任何具体位置无关。

  2. 缺少该分区的记录。不知何故,它被删除了,或者它被写入的页面或页面部分被覆盖了。

  3. 然后在备份之前发生了损坏。你有更旧的备份吗?