Triệu chứng:

Khi đang sử dụng DBCC KIỂM TRADB với REPAIR_ALLOW_DATA_LOSS tham số để sửa chữa cơ sở dữ liệu .MDF bị hỏng, như thế này:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

bạn thấy thông báo lỗi sau:

Msg 5125, cấp 24, trạng thái 2, dòng 2
Tệp 'C:Tệp chương trìnhMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf' dường như đã bị hệ điều hành cắt bớt. Kích thước dự kiến ​​là 5120 KB nhưng kích thước thực tế là 5112 KB.
Msg 3414, cấp 21, trạng thái 1, dòng 2
Đã xảy ra lỗi trong quá trình khôi phục, khiến cơ sở dữ liệu 'Error1' (39:0) không thể khôi phụctarting. Chẩn đoán các lỗi khôi phục và sửa chúng hoặc khôi phục từ một bản sao lưu tốt đã biết. Nếu lỗi không được sửa chữa hoặc dự kiến, hãy liên hệ với bộ phận Hỗ trợ Kỹ thuật.

trong đó 'Error1' là tên của cơ sở dữ liệu MDF bị hỏng đang được sửa chữa.

Tin nhắn 5125 lỗi không phải là lỗi phân bổ hay lỗi nhất quán. Nó xảy ra khi một phần đuôi của tệp MDB bị xóa do hỏng dữ liệu.

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

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

Khi phần đuôi của tệp MDB bị xóa, KIỂM TRADB sẽ báo cáo Tin nhắn 5125 lỗi và cố gắng sửa nó. Nếu cơ sở dữ liệu không thể được cố định, thì nó sẽ tạo ra Tin nhắn 3414 lỗi.

Trên thực tế, cơ sở dữ liệu cũng có thể được phục hồi, nếu sử dụng sản phẩm của chúng tôi DataNumen SQL Recovery để thực hiện nhiệm vụ.

Các tệp mẫu:

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 2014 Error8.mdf Error8_fixed.mdf

Tài liệu tham khảo: