症狀:

嘗試在中附加.MDF數據庫時 SQL Server,您會看到以下錯誤消息:

無法檢索此請求的數據。 (Microsoft.SqlServer.Management.Sdk.Sfc)

執行Transact-SQL語句或批處理時發生異常。 (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf不是主數據庫文件。 (微軟 SQL Server,錯誤:5171)

其中'xxx.mdf是要附加的MDF文件的名稱。

錯誤消息的屏幕截圖:

錯誤“不是主數據庫文件”的屏幕截圖

精確說明:

MDF文件中的數據存儲為頁面,每頁8KB。 第一頁稱為文件標題頁,其中包含most 有關整個文件的重要信息,例如文件簽名,文件大小,兼容性等。其餘頁面還包含重要信息,包括頁面分配信息和實際數據。

如果MDF文件標題頁或其他重要管理頁已損壞或損壞,並且Microsoft無法識別 SQL Server,然後 SQL Server 會認為整個文件不是有效的主數據庫文件,並報告此錯誤。

您可以使用我們的產品 DataNumen SQL Recovery 從損壞的MDF文件中恢復數據並解決此錯誤。

樣本文件:

樣本損壞的MDF文件將導致錯誤:

SQL Server 版本 MDF文件損壞 MDF文件由固定 DataNumen SQL Recovery
SQL Server 2005 錯誤1_1.mdf 錯誤1_1_fixed.mdf
SQL Server 2008 R2 錯誤1_2.mdf 錯誤1_2_fixed.mdf
SQL Server 2012 錯誤1_3.mdf 錯誤1_3_fixed.mdf
SQL Server 2014 錯誤1_4.mdf 錯誤1_4_fixed.mdf