症状:
当在SQL Server中附加.MDF数据库时,您会看到以下错误消息:
SQL Server检测到一个基于逻辑一致性的I/O错误:错误的校验和(预期:0x2abc3894;实际:0 x2ebe208e)。它发生在读取文件' xxx.mdf '中数据库ID 12中偏移量0x00000000002000的页面(1:1)时。SQL Server错误日志或系统事件日志中的其他消息可能提供更详细的信息。这是一个严重的错误情况,威胁到数据库的完整性,必须立即纠正。完成完整的数据库一致性检查(DBCC CHECKDB)。造成这种错误的因素有很多;有关更多信息,请参阅SQL Server联机书籍。(Microsoft SQL Server, Error:824)
“xxx。mdf '是被访问的mdf文件的名称。
有时你的。mdf数据库可能会成功连接。但是,当您尝试执行SQL语句时,例如
SELECT * FROM [TestDB].[dbo].[test_table_1]
您还将得到上面的错误消息。
错误提示截图:
精确的解释:
MDF文件中的数据以页的形式存储,每页为8KB。每个页面都有一个可选的校验和字段。
如果SQL Server发现某些数据页中的校验和值无效,则它将报告此错误。
你可以使用我们的产品DataNumen SQL恢复从损坏的MDF文件中恢复数据并解决此错误。
示例文件:
示例损坏的MDF文件将导致错误:
SQL Server版本 | 损坏的MDF文件 | MDF文件固定DataNumen SQL恢复 |
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 |