dbcc checkcatalog (Transact-sql)
Katalog tutarlılık içinde belirtilen veritabanını denetler. Veritabanı çevrimiçi olması gerekir.
Transact-SQL Sözdizim Kuralları
Sözdizimi
DBCC CHECKCATALOG
[
(
database_name | database_id | 0
)
]
[ WITH NO_INFOMSGS ]
Bağımsız değişkenler
database_name | database_id | 0
Adı veya katalog tutarlılığını denetlemek üzere veritabanı Kımlığı değil. Belirtilmezse veya 0 belirtilirse, geçerli veritabanı kullanılır. Veritabanı adları için kuralları ile uymak gerekir tanımlayıcıları.WITH NO_INFOMSGS
Tüm bilgi iletilerini kapatır.
Açıklamalar
dbcc catalog komutu tamamlandığında, bir mesaj yazılan SQL Serverhata \Kütüğü dbcc komut başarıyla yürütür, iletinin başarıyla tamamlanması ve komutu çalıştırdığınız süreyi belirtir. dbcc komut bir hata nedeniyle onay tamamlamadan önce durursa, ileti komutu sona, devlet değeri ve komutu çalıştırdığınız süreyi gösterir. Aşağıdaki tablo iletiye dahil edilebilecek durum değerlerini listelemekte ve açıklamaktadır.
Durum |
Açıklama |
---|---|
0 |
Hata numarası 8930 büyüdü. Bu bir meta veri bozulması sonlandırmak için dbcc komutu neden gösterir. |
1 |
Hata numarası 8967 büyüdü. Dahili bir DBCC hatası vardı. |
2 |
Acil mod veritabanı onarımı sırasında bir hata oluştu. |
3 |
Bu bir meta veri bozulması sonlandırmak için dbcc komutu neden gösterir. |
4 |
Bir önerme 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 bir iç veritabanı anlık görüntüsünü bu denetimleri gerçekleştirmek için gereken işlem tutarlılığı sağlamak için kullanır. Daha fazla bilgi için Veritabanı Snapshot (Transact-sql) seyrek dosya boyutunu görüntülemekve "dbcc iç veritabanı anlık kullanım" bölüm içinde DBCC (Transact-sql).
Bir anlık görüntüsünü oluşturduysanız dbcc checkcatalog gerekli tutarlılık elde etmek için bir özel veritabanı kilit satın aldı. Herhangi bir tutarsızlık algılanırsa, onlar onarılamıyor ve veritabanını yedekten geri yüklenmesi gerekir.
[!NOT]
dbcc checkcatalog karşı çalışan tempdb herhangi bir denetim gerçekleştirmez. Performansı düşürmemek için anlık görüntüleri veritabanı kullanılamaz, bunun nedeni tempdb. Bu, gerekli işlem tutarlılığının sağlanamayacağı anlamına gelir. Herhangi çözmek için sunucuyu geri dönüşüm tempdb meta veri sorunlarını.
[!NOT]
dbcc checkcatalog FILESTREAM veri denetlemez. FILESTREAM, dosya sistemi için büyük ikili nesneler (BLOB'lar) depolar.
dbcc checkcatalog parçası olarak da koşmak dbcc checkdb.
Sonuç Kümeleri
Veritabanı belirtilmezse, dbcc checkcatalog döndürür:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Eğer AdventureWorks2012 dbcc checkcatalog döndürür veritabanı adı olarak belirtilir:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
İzinler
Üyelik sysadmin sabit sunucu rolü, ya da db_owner veritabanı rolü.
Örnekler
Aşağıdaki örnek Katalog bütünlüğü hem geçerli veritabanında ve buna bakar AdventureWorksveritabanı.
-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks2012 database.
DBCC CHECKCATALOG (AdventureWorks2012);
GO