Tôi muốn biết nếu có một cách để khắc phục điều này
Những lỗi nhất quán này có thể được sửa chữa với REPAIR_REBUILD
tùy chọnDBCC CHECKDB
:
Thực hiện sửa chữa mà không có khả năng mất dữ liệu. Điều này có thể bao gồm sửa chữa nhanh, chẳng hạn như sửa chữa các hàng bị thiếu trong các chỉ mục không được nhóm và sửa chữa tốn nhiều thời gian hơn, chẳng hạn như xây dựng lại một chỉ mục.
Như câu trả lời của Shanky đề cập, bất kỳ DBCC
sửa chữa nào cũng nên được thực hiện trong một giao dịch, vì vậy bạn có thể kiểm tra các thay đổi trước khi thực hiện chúng.
Như mọi khi, vui lòng đảm bảo bạn có một bộ sao lưu hoàn toàn có thể phục hồi (bao gồm cả đuôi đăng nhập nếu có) trước khi chạy xây dựng lại. Nếu bạn có một bộ sao lưu hợp lệ đầy đủ (bao gồm cả đuôi đăng nhập nếu có) và bạn có thể đủ khả năng ngừng hoạt động, khôi phục có thể là tùy chọn ưa thích. Hãy chắc chắn không ghi đè lên cơ sở dữ liệu hiện tại nếu bạn làm điều này, chỉ trong trường hợp khôi phục thất bại hoặc nó không hoàn thành như bạn mong đợi. Tất nhiên, rất có thể cơ sở dữ liệu được khôi phục sẽ chứa lại tham nhũng, tùy thuộc vào cách thức và thời điểm xảy ra :)
hoặc cách để có được thông tin chi tiết hơn về lỗi này
Chi tiết về bốn lỗi nhất quán nằm ở DBCC CHECKDB
đầu ra, trước phần tóm tắt ở cuối. Bạn nên xem lại những điều này để đảm bảo bạn hiểu được vấn đề và những gì có thể đã gây ra nó trước khi thử sửa chữa.
Bạn có thể giảm lượng DBCC CHECKDB
đầu ra bằng cách sử dụng WITH NO_INFOMSGS
tùy chọn.
Thêm DBCC
chi tiết thông báo lỗi vào câu hỏi của bạn nếu bạn cần trợ giúp phân tích lỗi. Điều quan trọng là xác định và khắc phục bất kỳ vấn đề phần cứng tiềm ẩn nào có thể gây ra tham nhũng.
Tùy thuộc vào các chi tiết của tham nhũng, có thể có các cách khác để khắc phục các sự cố (chẳng hạn như xây dựng lại một chỉ mục không bao gồm thủ công).
Nếu việc sửa chữa hoặc xây dựng lại thành công, bạn sẽ cần kiểm tra lại cơ sở dữ liệu với DBCC CHECKDB
bộ kiểm tra đầy đủ nhất được hỗ trợ bởi phiên bản SQL Server của bạn.