Triệu chứng:

Khi cố đính kèm cơ sở dữ liệu .MDF vào SQL Server, bạn thấy thông báo lỗi sau:

Không thể truy xuất dữ liệu cho yêu cầu này. (Microsoft.SqlServer.Management.Sdk.Sfc)

Đã xảy ra ngoại lệ khi thực hiện một loạt hoặc câu lệnh Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

xxx.mdf không phải là tệp cơ sở dữ liệu chính. (Microsoft SQL Server, Lỗi: 5171)

trong đó 'xxx.mdf là tên của tệp MDF được đính kèm.

Ảnh chụp màn hình thông báo lỗi:

Ảnh chụp màn hình lỗi "Không phải tệp cơ sở dữ liệu chính"

Giải thích chính xác:

Dữ liệu trong file MDF được lưu dưới dạng trang, mỗi trang 8KB. Trang đầu tiên được gọi là trang tiêu đề tập tin, trong đó có most thông tin quan trọng về toàn bộ tệp, chẳng hạn như chữ ký tệp, kích thước tệp, khả năng tương thích, v.v. Các trang còn lại cũng chứa thông tin quan trọng, bao gồm thông tin phân bổ trang cũng như dữ liệu thực tế.

Nếu trang tiêu đề tệp MDF hoặc các trang quản lý quan trọng khác bị hỏng hoặc lỗi và Microsoft không thể nhận dạng được SQL Serverthì SQL Server sẽ nghĩ rằng toàn bộ tệp không phải là tệp cơ sở dữ liệu chính hợp lệ và báo cáo lỗi này.

Bạn có thể sử dụng sản phẩm của chúng tôi DataNumen SQL Recovery để khôi phục dữ liệu từ tệp MDF bị hỏng và khắc phục lỗi này.

Các tệp mẫu:

Ví dụ về các tệp MDF bị hỏng sẽ gây ra lỗi:

SQL Server phiên bản Tập tin MDF bị hỏng Tệp MDF được cố định bởi DataNumen SQL Recovery
SQL Server 2005 Lỗi1_1.mdf Error1_1_fixed.mdf
SQL Server 2008 R2 Lỗi1_2.mdf Error1_2_fixed.mdf
SQL Server 2012 Lỗi1_3.mdf Error1_3_fixed.mdf
SQL Server 2014 Lỗi1_4.mdf Error1_4_fixed.mdf