Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Detail
| Barang | Nilai |
|---|---|
| Nama Produk | SQL Server |
| ID Peristiwa | 8992 |
| Sumber Kejadian | MSSQLSERVER |
| Komponen | SQLEngine |
| Nama Simbolis | DBCC3_CHECK_CATALOG |
| Teks Pesan | Periksa Katalog STATUS TINGKAT KESALAHAN Msg: PESAN. |
Catatan
8992 Pesan kesalahan mereferensikan pesan spesifik lainnya (mulai dari 3851 hingga 3858) tentang ketidakkonsistensian aktual.
Penjelasan
DBCC CHECKCATALOG atau DBCC CHECKDB menemukan inkonsistensi dalam tabel metadata sistem untuk objek yang ditentukan. Artinya, ada ketidakkonsistensian antara ID objek yang direkam dan objek yang ditentukan dalam pesan kesalahan.
Kesalahan ini dapat terjadi ketika satu atau beberapa tabel sistem diperbarui secara manual dengan cara yang membuat inkonsistensi dalam metadata sistem. Misalnya, Anda dapat menghapus objek secara manual dari sysobjects tabel tanpa menghapus baris terkait dalam tabel lain seperti sysindexes dan syscolumns.
Kesalahan ini dapat terjadi saat berjalan DBCC CHECKDB terhadap database yang ditingkatkan dari SQL Server 2000 (8.x) ke versi SQL Server yang lebih baru. Di SQL Server 2000 (8.x), DBCC CHECKDB tidak menyertakan DBCC CHECKCATALOG fungsionalitas, sehingga kesalahan tidak ditangkap sebelum peningkatan kecuali DBCC CHECKCATALOG secara khusus dijalankan terhadap database di SQL Server 2000 (8.x).
Anda mungkin melihat salah satu kesalahan berikut bersama dengan kesalahan 8992:
| Identifikasi Pesan | Teks pesan |
|---|---|
3851 |
An invalid row (%ls) was found in the system table sys.%ls%ls. |
3852 |
Row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls. |
3853 |
Attribute (%ls) of row (%ls) in sys.%ls%ls does not have a matching row (%ls) in sys.%ls%ls. |
3854 |
Attribute (%ls) of row (%ls) in sys.%ls%ls has a matching row (%ls) in sys.%ls%ls that is invalid. |
3855 |
Attribute (%ls) exists without a row (%ls) in sys.%ls%ls. |
3856 |
Attribute (%ls) exists but should not for row (%ls) in sys.%ls%ls. |
3857 |
The attribute (%ls) is required but is missing for row (%ls) in sys.%ls%ls. |
3858 |
The attribute (%ls) of row (%ls) in sys.%ls%ls has an invalid value. |
Tindakan pengguna
Menghilangkan dan membuat ulang objek yang ditentukan
Jika memungkinkan, hilangkan dan buat ulang objek yang ditentukan. Misalnya, jika objek adalah prosedur tersimpan atau jenis yang ditentukan pengguna, membuat ulang objek mungkin menyelesaikan masalah.
Pulihkan dari cadangan
Jika masalahnya tidak terkait dengan perangkat keras dan cadangan bersih yang diketahui tersedia, pulihkan database dari cadangan. Tindakan ini hanya berlaku jika cadangan tidak berisi kesalahan metadata.
Mengekspor data ke database baru
Jika cadangan juga berisi inkonsistensi metadata, Anda perlu membuat database baru dan mengekspor konten database yang ada ke database baru.
DBCC CHECKDB tidak dapat memperbaiki kesalahan ini
Kesalahan ini tidak dapat diperbaiki. Jika Anda tidak dapat memulihkan database dari cadangan, hubungi Dukungan Microsoft.
Jangan memperbarui tabel sistem secara manual
Jangan membuat pembaruan manual untuk tabel sistem. SQL Server tidak mendukung perubahan manual pada database sistem. Jika Anda memperbarui tabel sistem dalam database SQL Server, peristiwa berikut dicatat:
Saat tabel sistem diperbarui secara manual
Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.
Memulai database dengan tabel sistem yang diperbarui secara manual
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.
Anda menjalankan perintah DBCC CHECKDB setelah tabel sistem diperbarui secara manual
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.