Chúng tôi có SQL 2000 DB. Máy chủ bị sập do lỗi mảng Raid. Bây giờ khi chúng tôi chạy DBCC CHECKDB, chúng tôi nhận được một lỗi rằng có 27 lỗi nhất quán trong 9 trang.
Khi chúng tôi chạy TRANG DBCC trên các trang này, chúng tôi nhận được điều này:
Msg 8939, Level 16, State 106, Line 1
Table error: Object ID 1397580017, index ID 2, page (1:8404521). Test (m_freeCnt == freeCnt) failed. Values are 2 and 19.
Msg 8939, Level 16, State 108, Line 1
Table error: Object ID 1397580017, index ID 2, page (1:8404521). Test (emptySlotCnt == 0) failed. Values are 1 and 0.
Vì chỉ mục được chỉ định là không được phân cụm và được tạo bởi một hằng số duy nhất bao gồm 2 cột, chúng tôi đã thử thả và tạo lại chỉ mục. Điều này dẫn đến lỗi sau:
CREATE UNIQUE INDEX terminated because a duplicate key was found for index ID 2. Most significant primary key is '3280'.
The statement has been terminated.
Tuy nhiên đang chạy
Select var_id,result_on
from tests
group by var_id,result_on
having count(*)>1
trả về 0 hàng.
Đây là những gì chúng tôi dự định làm:
- Khôi phục bản sao sự cố máy chủ trước DB và chạy DBCC CHECKDB
- Nếu điều đó trở lại sạch sẽ, sau đó khôi phục lại mà không cần phục hồi
- Áp dụng tất cả các bản sao lưu TLOG không đầy đủ
- Dừng ứng dụng sản xuất, sao lưu nhật ký đuôi và cũng áp dụng điều đó
- Bỏ prod DB và đổi tên DB mới được khôi phục để biến nó thành prod
- Bắt đầu ứng dụng prod
Ai đó có thể xin vui lòng đục lỗ trong phương pháp này? Có lẽ, đề nghị một cách tiếp cận khác nhau? Những gì chúng ta cần là thời gian chết tối thiểu.
SQL 2000 DB Kích thước 94 GB Bảng có các trang bị hỏng có 460 triệu + hàng dữ liệu
Cảm ơn đã giúp đỡ.
Raj