症状:

在附加.MDF数据库时 SQL Server,您会看到以下错误消息:

SQL Server 检测到基于逻辑一致性的I / O错误:错误的校验和(预期:0x2abc3894;实际:0x2ebe208e)。 它发生在读取数据库ID 1中页面(1:12)的过程中,偏移量为文件'xxx.mdf'中的0x00000000002000。 中的其他消息 SQL Server 错误日志或系统事件日志可能会提供更多详细信息。 这是严重的错误情况,威胁数据库的完整性,必须立即更正。 完成完整的数据库一致性检查(DBCC CHECKDB)。 此错误可能是由许多因素引起的; 有关更多信息,请参见 SQL Server 在线图书(Microsoft SQL Server,错误:824)

其中“ xxx.mdf”是要访问的MDF文件的名称。

有时您可能会成功附加.MDF数据库。 但是,当您尝试执行SQL语句时,例如

SELECT * FROM [TestDB]。[dbo]。[test_table_1]

您还将收到上述错误消息。

错误消息的屏幕截图:

精确说明:

MDF文件中的数据存储为页面,每页8KB。 每个页面都有一个可选的校验和字段。

If SQL Server 如果发现某些数据页中的校验和值无效,则将报告此错误。

您可以使用我们的产品 DataNumen SQL Recovery 从损坏的MDF文件中恢复数据并解决此错误。

样本文件:

样本损坏的MDF文件将导致错误:

SQL Server 版本 MDF文件损坏 MDF文件由固定 DataNumen SQL Recovery
SQL Server 2005 错误4_1.mdf 错误4_1_fixed.mdf
SQL Server 2008 R2 错误4_2.mdf 错误4_2_fixed.mdf
SQL Server 2012 错误4_3.mdf 错误4_3_fixed.mdf
SQL Server 2014 错误4_4.mdf 错误4_4_fixed.mdf