Yalnızca fiziksel checkdb başarısız oluyor, ancak tam dolu başarıyla tamamlandı


13

Fiziksel_only seçeneği ile checkdb yürütüyorum ve aşağıdaki gibi birden çok hata ile başarısız:

Msg 8965, Seviye 16, Durum 1, Satır 1
Tablo hatası: Nesne Kimliği 1557580587, dizin kimliği 1, bölüm kimliği 72057594088456192, ayırma birimi kimliği 72057594177454080 (satır İçi veri). Sayfa (1: 13282192), yuva 3, metin kimliği 6370769698816'daki satır dışı veri düğümüne sayfa (0: 0), yuva 0 tarafından atıfta bulunuldu, ancak taramada görülmedi.
Msg 8965, Seviye 16, Durum 1, Satır 1
Tablo hatası: Nesne Kimliği 1557580587, dizin kimliği 1, bölüm kimliği 72057594088456192, ayırma birimi kimliği 72057594177454080 (satır İçi veri). Sayfa (1: 13282192), yuva 5, metin kimliği 6370769764352'deki satır dışı veri düğümüne sayfa (0: 0), yuva 0 tarafından atıfta bulunuldu, ancak taramada görülmedi.
CHECKDB 'TableX' tablosunda 0 tahsis hataları ve 5255 tutarlılık hatası buldu (nesne kimliği 1557580587).
CHECKDB 'DatabaseX' veritabanında 0 tahsis hatası ve 5255 tutarlılık hatası buldu . repair_allow_data_loss, DBCC CHECKDB (DWH_LAND) tarafından bulunan hatalar için minimum onarım düzeyidir.

Ancak tam checkdb başarılı olur:

CHECKDB 'DatabaseX' veritabanında 0 tahsis hatası ve 0 tutarlılık hatası buldu. DBCC yürütmesi tamamlandı. DBCC hata mesajları yazdırdıysa, sistem yöneticinize başvurun.


TableX yaklaşık 200.000 satıra sahiptir ve üzerinde kümelenmiş sütun mağaza dizini vardır.
Aşağıdaki SQL Server sürümünü kullanıyoruz:
Microsoft SQL Server 2017 (RTM-CU13) (KB4466404) - 14.0.3048.4 Endişelenmem

gerekir mi?

Yanıtlar:


13

Evet, bu SQL Server 2017'de CU14'e kadar bir kusur. SQL Server 2016'da kümelenmemiş sütun deposu dizinleriyle benzer bir sorun vardı .

Bu videoda ayrıntılı olarak açıklanmıştır: SQL Server 2017 ve ColumnStore Dizinleriyle CHECKDB Hatası

Sorunun daha taşınabilir bir kopyası şudur:

SELECT *, CONVERT(NVARCHAR(MAX), m.text + m.text + m.text + m.text + m.text) AS texty
INTO dbo.corrupt
FROM sys.messages AS m;

CREATE CLUSTERED COLUMNSTORE INDEX cx_corrupt ON dbo.corrupt;

DBCC CHECKDB WITH PHYSICAL_ONLY;

DROP TABLE dbo.corrupt;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.