症状:
当在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 |