Kami memiliki SQL 2000 DB. Server macet karena kegagalan susunan raid. Sekarang ketika kita menjalankan DBCC CHECKDB, kita mendapatkan kesalahan bahwa ada 27 kesalahan konsistensi dalam 9 halaman.
Ketika kami menjalankan PAGE DBCC di halaman ini, kami mendapatkan ini:
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.
Karena indeks yang ditunjukkan adalah non-cluster dan dibuat oleh constarint unik yang mencakup 2 kolom, kami mencoba menjatuhkan dan membuat ulang indeks. Ini menghasilkan kesalahan berikut:
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.
Namun berjalan
Select var_id,result_on
from tests
group by var_id,result_on
having count(*)>1
mengembalikan 0 baris.
Inilah yang kami rencanakan untuk dilakukan:
- Kembalikan salinan crash DB dari server dan jalankan DBCC CHECKDB
- Jika itu kembali bersih, lalu kembalikan lagi tanpa pemulihan
- Terapkan semua cadangan TLOG yang mendasarinya
- Hentikan aplikasi produksi, ambil cadangan log ekor, dan terapkan juga
- Jatuhkan prod DB dan ganti nama DB yang baru dipulihkan untuk membuatnya prod
- Mulai aplikasi prod
Bisakah seseorang tolong melubangi pendekatan ini? Mungkin, menyarankan pendekatan yang berbeda? Yang kami butuhkan adalah downtime minimum.
SQL 2000 DB Ukuran 94 GB Tabel yang memiliki halaman rusak memiliki 460 Juta + baris data
Terima kasih untuk bantuannya.
Raj