症状:

当尝试在SQL Server中附加.MDF数据库时,您会看到以下错误消息:

未能检索此请求的数据。(Microsoft.SqlServer.Management.Sdk.Sfc)

在执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)

xxx。MDF不是一个主数据库文件。(Microsoft SQL Server, Error: 5171)

“xxx。mdf是要附加的mdf文件的名称。

错误提示截图:

错误“不是主数据库文件”的截图

精确的解释:

MDF文件中的数据以页的形式存储,每页为8KB。第一页称为文件头页,其中包含了整个文件最重要的信息,如文件签名、文件大小、兼容性等。其余页面还包含重要信息,包括页面分配信息以及实际数据。

如果MDF文件头页或其他重要的管理页被损坏或损坏,并且不能被Microsoft SQL Server识别,那么SQL Server将认为整个文件不是有效的主数据库文件并报告此错误。

你可以使用我们的产品DataNumen SQL恢复从损坏的MDF文件中恢复数据并解决此错误。

示例文件:

示例损坏的MDF文件将导致错误:

SQL Server版本 损坏的MDF文件 MDF文件固定DataNumen SQL恢复
SQL Server 2005 Error1_1.mdf Error1_1_fixed.mdf
SQL Server 2008 R2 Error1_2.mdf Error1_2_fixed.mdf
SQL Server 2012 Error1_3.mdf Error1_3_fixed.mdf
SQL Server 2014 Error1_4.mdf Error1_4_fixed.mdf