使用微软时 SQL Server 要附加或访问损坏的 MDF 数据库文件,您可能会遇到各种令人困惑的错误消息。 下面,我们将列出所有错误,按频率排序。 对于每个错误,我们将概述其症状,解释确切原因,并提供示例文件以及由 DataNumen SQL Recovery. 这将帮助您更好地理解这些错误。 注意 'xxx.MDF' 将代表您损坏的文件的名称 SQL Server MDF 数据库文件。

基于 SQL Server 或者CHECKDB错误信息,错误分为三种:

    1. 分配错误: 我们知道 MDF 和 NDF 文件中的数据分配为 网页. 还有一些专门用于分配管理的页面,如下:
页面类型 描述
GAM页面 存储全局分配映射 (GAM) 信息。
SGAM页面 存储共享全局分配映射 (SGAM) 信息。
IAM 页面 存储索引分配映射 (IAM) 信息。
PFS 页面 存储 PFS 分配信息。

如果上述任何一个分配页面出现错误,或者这些分配页面管理的数据与分配信息不一致,则 SQL Server 或 CHECKDB 将报告 分配错误.

  • 一致性错误: 对于 网页 用于存储数据的页面,包括数据页和索引页,如果 SQL Server 或 CHECKDB 发现页面内容与校验和之间存在任何不一致,然后他们将报告 一致性错误。
  • 所有其他错误: 可能还有其他不属于以上两类的错误。

 

SQL Server 有一个内置工具叫做 数据库管理中心,其中有 检查数据库检查表 有助于修复损坏的 MDF 数据库的选项。 但是对于损坏严重的MDB数据库文件, DBCC 检查数据库检查表 也会失败。

CHECKDB报的一致性错误:

CHECKDB 报告的分配错误:

CHECKDB 报告的所有其他错误: