症状:

当在SQL Server中附加。mdf数据库时,您会看到以下错误消息:

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

“xxx。mdf '是被访问的mdf文件的名称。

有时。mdf数据库可能会被成功连接。但是,当您试图执行SQL语句时,例如

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

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

错误信息截图:

精确的解释:

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

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

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

示例文件:

会导致错误的损坏MDF文件示例:

SQL Server版本 损坏的MDF文件 MDF文件固定DataNumen SQL Recovery
SQL Server 2005 Error4_1.mdf Error4_1_fixed.mdf
SQL Server 2008 R2 Error4_2.mdf Error4_2_fixed.mdf
SQL Server 2012 Error4_3.mdf Error4_3_fixed.mdf
SQL Server 2014 Error4_4.mdf Error4_4_fixed.mdf