Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ayrıntılar
| Ürün | Değer |
|---|---|
| Ürün Adı | SQL Sunucusu |
| Olay Kimliği | 8992 |
| Olay Kaynağı | MSSQLSERVER |
| Bileşen | SQLEngine |
| Sembolik Ad | DBCC3_CHECK_CATALOG |
| İleti Metni | Katalog İletisi HATA DÜZEYI DÜZEY DURUMU: İLETI'ye bakın. |
Uyarı
8992 Hata iletisi, gerçek tutarsızlık hakkında belirli bir iletiye (3851 ile 3858 arasında) başvurur.
Açıklama
DBCC CHECKCATALOG veya DBCC CHECKDB belirtilen nesne için sistem meta veri tablolarında bir tutarsızlık buldu. Başka bir ifadeyle, kaydedilen nesne kimliği ile hata iletisinde belirtilen nesne arasında bir tutarsızlık vardır.
Bu hata, bir veya daha fazla sistem tablosu sistem meta verilerinde tutarsızlık oluşturabilecek şekilde el ile güncelleştirildiğinde oluşabilir. Örneğin, ve sysobjectsgibi sysindexes diğer tablolardaki ilişkili satırları kaldırmadan bir nesneyi tablodan syscolumns el ile silebilirsiniz.
Bu hata, SQL Server 2000'den (8.x) SQL Server'ın sonraki bir sürümüne yükseltilen bir veritabanında çalıştırılırken DBCC CHECKDB oluşabilir. SQL Server 2000'de (8.x), DBCC CHECKDB işlevsellik içermediğinden DBCC CHECKCATALOG , SQL Server 2000 'de (8.x) veritabanında özel olarak yürütülmediği sürece DBCC CHECKCATALOG hata yükseltmeden önce yakalanmaz.
Aşağıdaki hatalardan herhangi birini 8992 hatasıyla birlikte görebilirsiniz:
| İleti Kimliği | İleti metni |
|---|---|
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. |
Kullanıcı eylemi
Belirtilen nesneyi bırakma ve yeniden oluşturma
Mümkünse, belirtilen nesneyi bırakın ve yeniden oluşturun. Örneğin, nesne saklı yordam veya kullanıcı tanımlı bir türse, nesneyi yeniden oluşturmak sorunu çözebilir.
Yedekten geri yükleme
Sorun donanımla ilgili değilse ve bilinen bir temiz yedekleme varsa veritabanını yedekten geri yükleyin. Bu eylem yalnızca yedekleme meta veri hatası içermiyorsa geçerlidir.
Verileri yeni bir veritabanına aktarma
Yedekleme meta veri tutarsızlığını da içeriyorsa, yeni bir veritabanı oluşturmanız ve mevcut veritabanının içeriğini yeni veritabanına dışarı aktarmanız gerekir.
DBCC CHECKDB bu hatayı onaramıyor
Bu hata onarılamıyor. Veritabanını yedekten geri yükleyemiyorsanız Microsoft Desteği'ne başvurun.
Sistem tablolarını el ile güncelleştirme
Sistem tablolarında el ile güncelleştirme yapmayın. SQL Server, sistem veritabanlarında el ile yapılan değişiklikleri desteklemez. SQL Server veritabanındaki bir sistem tablosunu güncelleştirirseniz, aşağıdaki olaylar günlüğe kaydedilir:
Sistem tablosu el ile güncelleştirildiğinde
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.
El ile güncelleştirilmiş bir sistem tablosuyla veritabanı başlatma
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.
Bir sistem tablosu el ile güncelleştirildikten sonra DBCC CHECKDB komutunu yürütürsiniz
Msg 3859: Warning: The system catalog was updated directly in database ID <id>, most recently at date_time.