症状:
当尝试在SQL Server中附加.MDF数据库时,您会看到以下错误消息:
为服务器“xxx”连接数据库失败。(Microsoft.SqlServer.Smo)
在执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)
文件“xxx”的头文件。Mdf '不是一个有效的数据库文件头。FILE SIZE属性不正确。(microsoft SQL Server,错误:5172)
“xxx。mdf '是要附加的mdf文件的名称。
错误提示截图:
精确的解释:
MDF文件中的数据以页的形式存储,每页为8KB。第一页称为文件头页,其中包含了整个文件最重要的信息,如文件签名、文件大小、兼容性等。
如果MDF文件头页损坏或损坏,并且不能被Microsoft SQL Server识别,那么SQL Server将认为头是无效的并报告此错误。
你可以使用我们的产品DataNumen SQL恢复从损坏的MDF文件中恢复数据并解决此错误。
示例文件:
示例损坏的MDF文件将导致错误:
SQL Server版本 | 损坏的MDF文件 | MDF文件固定DataNumen SQL恢复 |
SQL Server 2005 | Error2_1.mdf | Error2_1_fixed.mdf |
SQL Server 2008 R2 | Error2_2.mdf | Error2_2_fixed.mdf |
SQL Server 2012 | Error2_3.mdf | Error2_3_fixed.mdf |
SQL Server 2014 | Error2_4.mdf | Error2_4_fixed.mdf |