KB3201554 - DÜZELTME: SQL Server 2016'da birçok farklı işleç içeren bir sorgu için uzun derleme süresi

Uygulandığı Öğe
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 Express - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Web - duplicate (do not use)

Belirtiler

Kardinalite tahmin aracı (CE) olarak bilinen kardinalite tahmin mantığı, sorgu planlarının kalitesini artırmak için SQL Server 2014 (uyumluluk düzeyi 120) ve SQL Server 2016'da (uyumluluk düzeyi 130) yeniden tasarlanmıştır.

Ancak, çok sayıda birleştirme içeren karmaşık bir sorguyu bir DISTINCT veya GROUP BY işleciyle derlediğinizde, derleme işlemi beklenenden çok daha uzun sürebilir.

Çözüm

Bu sorunu gideren güncelleştirme, SQL Server 2016 Service Pack 1'de bulunmaktadır.

Not Bu güncelleştirmeyi yükledikten sonra, düzeltmeyi etkinleştirmek için izleme bayrağı 4199'u ayarlamanız gerekir. İzleme bayrağı 4199'u ayarlamak için MSDN'deki İzleme Bayrakları (Transact-SQL) konusuna bakın.

SQL Server 2016 derlemeleri hakkında

SQL Server 2016'nın her yeni derlemesi, bir önceki derlemede yer alan tüm düzeltmeleri ve güvenlik düzeltmelerini içerir. SQL Server 2016'nın en son derlemesini yüklemenizi öneririz.

Geçici çözüm

Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanın:

  • Sorgu iyileştiricisi kardinalite tahmin modelini SQL Server 2012 veya önceki bir sürüme ayarlamak için izleme bayrağı 9481'i kullanın.
  • Veritabanının uyumluluk düzeyini SQL ServerSQL Server 2012 (110) veya daha eski bir sürümle değiştirin.

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

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