SQL Server veritabanı içeren bir bilgisayarda DBCC CHECKDB komutunu çalıştırdığınızda hata iletisi
Bu makale, komutu SQL Server veritabanı içeren bir bilgisayarda çalıştırdığınızda DBCC CHECKDB
oluşan soruna geçici bir çözüm getirir.
Orijinal ürün sürümü: SQL Server 2008
Özgün KB numarası: 960791
Belirtiler
Aşağıdaki senaryoyu inceleyin:
Bir Microsoft SQL Server 2008 veya SQL Server 2005 veritabanını yedekten geri yüklersiniz.
Geri yükleme işlemi sırasında veritabanını geri yüklemenizi engelleyen hatalar alırsınız.
CONTINUE_AFTER_ERROR seçeneğini kullanarak veritabanını aynı yedeklemeden başarıyla geri yüklersiniz.
Bu senaryoda, SQL Server veritabanını içeren bilgisayarda DBCC CHECKDB komutunu çalıştırdığınızda, aşağıdakine benzer bir hata iletisi alırsınız:
Msg 8967, Düzey 16, Durum 216, Sunucu <sunucusu adı>, Satır 2
DBCC'de daha fazla işlem yapılmasını engelleyen bir iç hata oluştu. Lütfen Müşteri Desteği ile iletişime geçin.
'Veritabanı adı>'< için DBCC sonuçları.Msg 8921, Düzey 16, Durum 1, Sunucu <sunucusu adı>, Satır 1
Denetim sonlandırıldı. Olgular toplanırken bir hata algılandı. Muhtemelen tempdb alanı yetersiz veya sistem tablosu tutarsız. Önceki hataları denetleyin.
Ayrıca, SQL Server hata günlüğünde aşağıdakine benzer bir ileti görüntülenebilir:
2007-05-26 07:13:49.21 spid58 DBCC, iç veritabanı anlık görüntüsü için günlük LSN'sinin (<LSN) geçerli ucundan büyük bir LSN> içeren bir sayfayla karşılaştı. Sayfa okunamadı (dosya kimliği:sayfa kimliği), veritabanı '<veritabanı adı' (veritabanı kimliği veritabanı kimliği>), LSN = (<LSN>), tür = 32, isInSparseFile = 1. Lütfen bu DBCC komutunu yeniden çalıştırın.
Neden
Bu sorun, komutu veritabanının DBCC CHECKDB
tutarlılığını onaylamak için gerekli denetimleri gerçekleştiremezse oluşur. Bu denetimler birçok nedenden dolayı gerçekleştirilemedi. Örneğin, veritabanında meta veri tutarsızlıkları veya veritabanı anlık görüntüsü bozulması gibi temel tutarsızlıklar varsa bu davranış oluşabilir. Bu hatanın belirli nedeni hakkında daha fazla bilgi, hata iletisinde görüntülenen farklı durum incelenerek belirlenebilir. Belirtiler bölümünde açıklanan senaryoda, durum 216 iletisi komutun DBCC CHECKDB
LSN günlüğünün sonundan daha büyük bir günlük sırası numarasına (LSN) sahip iç anlık görüntüden bir sayfa okuduğunu gösterir. CONTINUE_AFTER_ERROR seçeneğini kullanarak veritabanlarını geri yüklerseniz bu davranış oluşabilir.
Geçici Çözüm
Bu sorunu geçici olarak çözmek için komutuyla TABLOCK ipucunu DBCC CHECKDB
kullanın. Bu, komutun DBCC CHECKDB
hata iletisi oluşturmadan tamamlanamalarını sağlar.
TABLOCK ipuçları hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin: İpuçları (Transact-SQL) - Tablo.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin