Khi sử dụng Microsoft SQL Server Để đính kèm hoặc truy cập tệp cơ sở dữ liệu MDF bị hỏng, bạn có thể gặp nhiều thông báo lỗi có thể gây nhầm lẫn. Dưới đây, chúng tôi sẽ liệt kê tất cả các lỗi, được sắp xếp theo tần suất. Đối với mỗi lỗi, chúng tôi sẽ phác thảo các triệu chứng, giải thích nguyên nhân chính xác và cung cấp các tệp mẫu cùng với các tệp được sửa bởi DataNumen SQL Recovery. Điều này sẽ giúp bạn hiểu rõ hơn về những lỗi này. Lưu ý 'xxx.MDF' sẽ đại diện cho tên bị hỏng của bạn SQL Server Tệp cơ sở dữ liệu MDF.
Dựa trên SQL Server hoặc thông báo lỗi CHECKDB, có ba loại lỗi:
-
- Lỗi phân bổ: Chúng tôi biết dữ liệu trong tệp MDF & NDF được phân bổ dưới dạng trang. Và có một số trang đặc biệt được sử dụng để quản lý phân bổ như sau:
Loại trang | Mô tả |
Trang GAM | Lưu trữ thông tin bản đồ phân bổ toàn cầu (GAM). |
Trang SGAM | Lưu trữ thông tin bản đồ phân bổ toàn cầu (SGAM) được chia sẻ. |
Trang IAM | Lưu trữ thông tin bản đồ phân bổ chỉ mục (IAM). |
Trang PFS | Lưu trữ thông tin phân bổ PFS. |
Nếu bất kỳ trang phân bổ nào ở trên có lỗi hoặc dữ liệu do các trang phân bổ này quản lý không nhất quán với thông tin phân bổ thì SQL Server hoặc CHECKDB sẽ báo cáo lỗi phân bổ.
- Lỗi nhất quán: Trong trang được sử dụng để lưu trữ dữ liệu, bao gồm các trang dữ liệu và trang chỉ mục, nếu SQL Server hoặc CHECKDB tìm thấy sự không thống nhất giữa nội dung trang và tổng kiểm tra thì họ sẽ báo cáo lỗi nhất quán.
- Tất cả các lỗi khác: Có thể có những lỗi khác không thuộc hai loại trên.
- xxxx.mdf không phải là tệp cơ sở dữ liệu chính. (Microsoft SQL Server, Lỗi: 5171)
- Tiêu đề cho tệp 'xxxx.mdf' không phải là tiêu đề tệp cơ sở dữ liệu hợp lệ. Thuộc tính FILE SIZE không chính xác.(Microsoft SQL Server, Lỗi:5172)
- SQL Server đã phát hiện lỗi I/O dựa trên tính nhất quán logic: tổng kiểm tra không chính xác
- SQL Server đã phát hiện lỗi I/O dựa trên tính nhất quán logic: trang bị rách
- Bạn xóa nhầm một số bản ghi hoặc một số bảng trong cơ sở dữ liệu.
SQL Server có một công cụ tích hợp được gọi là ĐBCC, trong đó có KIỂM TRADB và BẢNG KIỂM TRA các tùy chọn có thể giúp sửa chữa cơ sở dữ liệu MDF bị hỏng. Tuy nhiên, đối với các tệp cơ sở dữ liệu MDB bị hỏng nặng, DBCC KIỂM TRADB và BẢNG KIỂM TRA cũng sẽ thất bại.
Lỗi nhất quán được báo cáo bởi CHECKDB:
- SQL Server đã phát hiện lỗi I/O dựa trên tính nhất quán logic: tổng kiểm tra không chính xác
- Hàng trong sys.xxx không có hàng phù hợp trong sys.xxx.
- Lỗi bảng: ID đối tượng ##, ID chỉ mục ## sẽ được xây dựng lại.
- Chỉ mục bảng hệ thống này không thể được tạo lại.
- ID đối tượng ##, ID chỉ mục ##, ID phân vùng ##, ID đơn vị cấp phát ## (loại Không xác định), ID trang (##:560) chứa ID trang không chính xác trong tiêu đề trang của nó.
Lỗi phân bổ được CHECKDB báo cáo:
- Trang Bản đồ phân bổ chỉ mục (IAM) được trỏ tới bởi Con trỏ tiếp theo của Trang IAM
- Phạm vi (##:##) trong ID cơ sở dữ liệu ## được đánh dấu là phân bổ trong GAM, nhưng không có SGAM hoặc IAM nào phân bổ nó.
Tất cả các lỗi khác được CHECKDB báo cáo:
- Không thành công:(-#######) Thực thi truy vấn “DBCC CHECKDB(xxxx) VỚI NO_INFOMSGS” không thành công với lỗi sau: “xxxx”.
- Đã phát hiện lỗi I/O (ID trang sai) trong quá trình đọc ở offset 0x###### trong tệp 'xxxx.mdf'.
- Hệ thống không thể kích hoạt đủ cơ sở dữ liệu để xây dựng lại nhật ký
- Mất dữ liệu khi sửa chữa bằng CHECKDB
- Tệp dường như đã bị hệ điều hành cắt bớt.
- Trong khi thực hiện lại thao tác đã ghi trong cơ sở dữ liệu 'xxxx', đã xảy ra lỗi ở ID bản ghi nhật ký.