KB4316948 - DÜZELTME: SQL Server 2016 ve 2017'de bir sorgu derlediğinizde ve histogram değişikliği varsayılan Kardinalite Tahmini ile etkinleştirildiğinde erişim ihlali

Uygulandığı Öğe
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Belirtiler

Aşağıdaki senaryoyu ele alalım:

  • Histogram değişikliği etkinken varsayılan Kardinalite Tahmini'ni kullanarak sorgu çalıştırmayı denersiniz.
  • Sorgu, koşullardan birinde kullanılan bir sütunda ifadeler içerir.

Bu senaryoda, bir erişim ihlali oluşur. Ayrıca, aşağıdaki hata iletisini alırsınız:

Not

Msg 596, Level 21, State 1, Line LineNumber
Oturum sonlandırma durumunda olduğundan yürütmeye devam edilemiyor.
Msg 0, Level 20, State 0, Line LineNumber
Geçerli komutta önemli bir hata oluştu.  Varsa, sonuçlar atılmalıdır.

         Notlar Histogram değişikliği, İPUCU KULLAN('ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS') sorgu seçeneği veya izleme bayrağı 4139 kullanılarak etkinleştirilebilir.

Çözüm

Bu sorun, aşağıdaki SQL Server güncelleştirmelerinde düzeltilmiştir:

Cumulative Update 8 for SQL ServerSQL Server 2017

SQL Server 2016 Service Pack 2 için Toplu Güncelleştirme 5

SQL Server derlemeleri hakkında

SQL Server için her yeni derleme, bir önceki derlemede yer alan tüm düzeltmeleri ve güvenlik düzeltmelerini içerir. SQL Server sürümünüz için en son derlemeyi yüklemenizi öneririz:

SQL Server 2017 için en son derleme

SQL Server 2016 için en son toplu güncelleştirme

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Başvurular

DBCC TRACEON - İzleme Bayrakları (Transact-SQL)

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı standart terminoloji hakkında bilgi edinin.