症状:
当在SQL Server中附加.MDF数据库时,您会看到以下错误消息:
SQL Server检测到一个基于逻辑一致性的I/O错误:撕裂的页面(期望签名:0x########;实际签名:0x#######)。它发生在读取文件' xxxx.mdf '中数据库ID #偏移量##的页面(#:#)时。SQL Server错误日志或系统事件日志中的其他消息可能提供更详细的信息。这是一个严重的错误情况,威胁到数据库的完整性,必须立即纠正。完成完整的数据库一致性检查(DBCC CHECKDB)。造成这种错误的因素有很多;有关更多信息,请参阅SQL Server联机书籍。
“xxx。mdf '是被访问的mdf文件的名称。
有时你的。mdf数据库可能会成功连接。但是,当您尝试执行SQL语句时,例如
SELECT * FROM [TestDB].[dbo].[test_table_1]
您还将得到上面的错误消息。
错误提示截图:
精确的解释:
MDF文件中的数据以页的形式存储,每页为8KB。SQL Server使用两种机制来保证页面中数据的一致性和完整性,即校验和(checksum)和撕页(torn page)。两者都是可选的。
如果SQL Server发现某些数据页的撕裂页是无效的,那么它将报告此错误。
你可以使用我们的产品DataNumen SQL恢复从损坏的MDF文件中恢复数据并解决此错误。
示例文件:
示例损坏的MDF文件将导致错误:
SQL Server版本 | 损坏的MDF文件 | MDF文件固定DataNumen SQL恢复 |
SQL Server 2005 | Error5_1.mdf | Error5_1_fixed.mdf |
SQL Server 2008 R2 | Error5_2.mdf | Error5_2_fixed.mdf |
SQL Server 2012 | Error5_3.mdf | Error5_3_fixed.mdf |
SQL Server 2014 | Error5_4.mdf | Error5_4_fixed.mdf |