症状:
在附加.MDF数据库时 SQL Server,您会看到以下错误消息:
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 使用两种机制来确保页面中数据的一致性和集成性,即校验和或残缺页面。 两者都是可选的。
If SQL Server 如果发现某些数据页的残缺页无效,则将报告此错误。
您可以使用我们的产品 DataNumen SQL Recovery 从损坏的MDF文件中恢复数据并解决此错误。
样本文件:
样本损坏的MDF文件将导致错误:
SQL Server 版本 | MDF文件损坏 | MDF文件由固定 DataNumen SQL Recovery |
SQL Server 2005 | 错误5_1.mdf | 错误5_1_fixed.mdf |
SQL Server 2008 R2 | 错误5_2.mdf | 错误5_2_fixed.mdf |
SQL Server 2012 | 错误5_3.mdf | 错误5_3_fixed.mdf |
SQL Server 2014 | 错误5_4.mdf | 错误5_4_fixed.mdf |