Aracılığıyla paylaş


DBCC CHECKCATALOG (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Belirtilen veritabanında katalog tutarlılığını denetler. Veritabanı çevrimiçi olmalıdır.

Transact-SQL söz dizimi kuralları

Sözdizimi

DBCC CHECKCATALOG
[
    (
    database_name | database_id | 0
    )
]
    [ WITH NO_INFOMSGS ]

Bağımsız değişken

| database_namedatabase_id | 0

Katalog tutarlılığının denetlendiği veritabanının adı veya kimliği. Belirtilmezse veya 0 belirtilirse geçerli veritabanı kullanılır. Veritabanı adları tanımlayıcılarının kurallarına uymalıdır.

BİLGİ_MSJSIZ

Tüm bilgilendirme iletilerini gizler.

Açıklamalar

DBCC CHECKCATALOG komutu tamamlandıktan sonra SQL Server hata günlüğüne bir ileti yazılır. DBCC komutu başarıyla yürütülürse, ileti başarıyla tamamlandığını ve komutun çalıştırıldığını gösterir. DBCC komutu bir hata nedeniyle denetimi tamamlamadan önce durursa, ileti komutun sonlandırıldığını, durum değerini ve komutun çalıştırıldığı süreyi gösterir. Aşağıdaki tabloda iletiye dahil edilebilecek durum değerleri listelenmiştir ve açıklanmaktadır.

Devlet Açıklama
0 Hata numarası 8930 oluşturuldu. Bu, DBCC komutunun sonlandırmasına neden olan bir meta veri bozulmasını gösterir.
1 Hata numarası 8967 oluşturuldu. bir iç DBCC hatası oluştu.
2 Acil durum modu veritabanı onarımı sırasında bir hata oluştu.
3 Bu, DBCC komutunun sonlandırmasına neden olan bir meta veri bozulmasını gösterir.
4 Onay veya erişim ihlali algılandı.
5 DBCC komutunu sonlandıran bilinmeyen bir hata oluştu.

DBCC CHECKCATALOG sistem meta verileri tabloları arasında çeşitli tutarlılık denetimleri gerçekleştirir. DBCC CHECKCATALOG, bu denetimleri gerçekleştirmek için gereken işlem tutarlılığını sağlamak için bir iç veritabanı anlık görüntüsü kullanır. Daha fazla bilgi için veritabanı anlık görüntüsünün seyrek boyutunu görüntüleme (Transact-SQL) ve DBCC (Transact-SQL)DBCC iç veritabanı anlık görüntü kullanımı bölümüne bakın.

Anlık görüntü oluşturulamıyorsa DBCC CHECKCATALOG gerekli tutarlılığı elde etmek için özel bir veritabanı kilidi alır. Herhangi bir tutarsızlık algılanırsa, bunlar onarılamaz ve veritabanının yedekten geri yüklenmesi gerekir.

Not

DBCC CHECKCATALOG karşı tempdb çalıştırmak hiçbir denetim gerçekleştirmez. Bunun nedeni, performans nedenleriyle veritabanı anlık görüntülerinin tempdbüzerinde kullanılamamasıdır. Bu, gerekli işlem tutarlılığının alınamadığı anlamına gelir. tempdb meta veri sorunlarını çözmek için Veritabanı Altyapısı hizmetini yeniden başlatın.

Not

DBCC CHECKCATALOG FILESTREAM verilerini denetlemez. FILESTREAM, dosya sisteminde ikili büyük nesneleri (BLOBS) depolar.

DBCC CHECKCATALOG, DBCC CHECKDB'nin bir parçası olarak da çalıştırılır.

Sonuç kümeleri

Veritabanı belirtilmezse DBCC CHECKCATALOG döndürür:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Veritabanı adı olarak AdventureWorks2025 belirtilirse, DBCC CHECKCATALOG döndürür:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

İzinler

sysadmin sabit sunucu rolüne veya db_owner sabit veritabanı rolüne üyelik gerektirir.

Örnekler

Aşağıdaki örnek hem geçerli veritabanında hem de AdventureWorks2025 veritabanında katalog bütünlüğünü denetler.

-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks2022);
GO

Ayrıca bkz.