Bagikan melalui


MSSQLSERVER_8992

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.