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.

Konvensi sintaks transact-SQL

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

Lihat juga