症状:

当在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