DBCC CHECKCATALOG (Transact-SQL)
Berlaku untuk:Database SQL Server Azure SQL Azure SQL Managed Instance
Memeriksa konsistensi katalog dalam database yang ditentukan. Database harus online.
Sintaks
DBCC CHECKCATALOG
[
(
database_name | database_id | 0
)
]
[ WITH NO_INFOMSGS ]
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
| database_name database_id | 0
Nama atau ID database untuk memeriksa konsistensi katalog. Jika tidak ditentukan, atau jika 0 ditentukan, database saat ini digunakan. Nama database harus mematuhi aturan untuk pengidentifikasi.
DENGAN NO_INFOMSGS
Menyembunyikan semua pesan informasi.
Keterangan
DBCC CHECKCATALOG
Setelah perintah selesai, pesan ditulis ke log kesalahan SQL Server. Jika perintah DBCC berhasil dijalankan, pesan menunjukkan keberhasilan penyelesaian dan jumlah waktu yang dijalankan perintah. Jika perintah DBCC berhenti sebelum menyelesaikan pemeriksaan karena kesalahan, pesan menunjukkan perintah dihentikan, nilai status, dan jumlah waktu perintah dijalankan. Tabel berikut ini mencantumkan dan menjelaskan nilai status yang bisa disertakan dalam pesan.
Provinsi | Deskripsi |
---|---|
0 | Nomor kesalahan 8930 dimunculkan. Ini menunjukkan kerusakan metadata yang menyebabkan perintah DBCC dihentikan. |
1 | Nomor kesalahan 8967 dimunculkan. Terjadi kesalahan DBCC internal. |
2 | Kegagalan terjadi selama perbaikan database mode darurat. |
3 | Ini menunjukkan kerusakan metadata yang menyebabkan perintah DBCC dihentikan. |
4 | Penegasan atau pelanggaran akses terdeteksi. |
5 | Terjadi kesalahan yang tidak diketahui yang menghentikan perintah DBCC. |
DBCC CHECKCATALOG
melakukan berbagai pemeriksaan konsistensi antara tabel metadata sistem. DBCC CHECKCATALOG
menggunakan rekam jepret database internal untuk memberikan konsistensi transaksi yang diperlukan untuk melakukan pemeriksaan ini. Untuk informasi selengkapnya, lihat Melihat Ukuran File Sparse rekam jepret Database (Transact-SQL) dan bagian penggunaan rekam jepret database internal DBCC di DBCC (Transact-SQL).
Jika rekam jepret tidak dapat dibuat DBCC CHECKCATALOG
memperoleh kunci database eksklusif untuk mendapatkan konsistensi yang diperlukan. Jika ada inkonsistensi yang terdeteksi, mereka tidak dapat diperbaiki, dan database harus dipulihkan dari cadangan.
Catatan
Menjalankan DBCC CHECKCATALOG
terhadap tempdb
tidak melakukan pemeriksaan apa pun. Ini karena, karena alasan performa, rekam jepret database tidak tersedia di tempdb
. Ini berarti bahwa konsistensi transaksi yang diperlukan tidak dapat diperoleh. Mulai ulang layanan Mesin Database untuk mengatasi masalah metadata apa pun tempdb
.
Catatan
DBCC CHECKCATALOG
tidak memeriksa data FILESTREAM. FILESTREAM menyimpan objek besar biner (BLOBS) pada sistem file.
DBCC CHECKCATALOG
juga dijalankan sebagai bagian dari DBCC CHECKDB.
Tataan hasil
Jika tidak ada database yang ditentukan, DBCC CHECKCATALOG
mengembalikan:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Jika AdventureWorks2022
ditentukan sebagai nama database, DBCC CHECKCATALOG
mengembalikan:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Izin
Memerlukan keanggotaan dalam peran server tetap sysadmin , atau peran database tetap db_owner .
Contoh
Contoh berikut memeriksa integritas katalog di database saat ini dan dalam AdventureWorks2022
database.
-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO