KB3162589 - DÜZELTME: Yükseltilmiş ayrıcalıklı mod CPU kullanımı ve yüksek hacimli sayfa mandalı beklemeleri olduğunda SQL Server performansı düşürüldü

Uygulandığı Öğe
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard 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)

Belirtiler

SQL Server 2014 Service Pack 1 (SP1), SQL Server 2012 SP3 veya SQL Server 2016 sürümünü yükledikten sonra, sunucu yeniden başlatılana kadar yavaş sorgu performansı ve yükseltilmiş ayrıcalıklı (çekirdek) mod CPU kullanımı sorunuyla karşılaşırsınız. Ayrıca yüksek hacimli PAGELATCH_* beklemeler de görebilirsiniz.

Çözüm

Sorun, SQL ServerSQL Server'ın aşağıdaki toplu güncelleştirmelerinde düzeltildi:

Öneri: SQL Server için en son toplu güncelleştirmeyi yükleyin

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmeleri indirip yüklemenizi öneririz:

      

        
      

Neden

SQL ServerSQL Server, dinamik mandal promosyonu ve indirgeme mantığı (süper/alt mandal) kullanır. Bu, bir mandaldaki alma sayısını ve mandal çekişmesi yoksa aynı mandalı almanın ne kadar süreceğini takip ederek SQL Server performansını ve ölçeklenebilirliği geliştirir. Ardından, uygun mandallar bu modele göre tanıtılır (süper mandal). Bir Yığın veya BTree'de (HoBT) çok sayıda değişiklik (ekleme/güncelleştirme/silme) olduğunda, HoBT ile ilişkili mandallar süper mandal durumuna yükseltilebilir. Ancak, indirgeme otomatik olarak gerçekleşmez. Bu makalede süper/alt kilitleme hakkında daha fazla bilgi edinebilirsiniz.

Bu HoBT'ler daha sonra serbest bırakılırsa, serbest bırakılan HoBT yeniden kullanım için genel bir önbelleğe geri döner. Bu HOBT yeniden kullanıldığında, HoBT'de herhangi bir çekişme olmasa bile, daha önce tanıtılan mandalı yeniden kullanır. Bu da CPU yükünü artırır. Bu davranış, sunucu yeniden başlatılana kadar SQL Server'in ayrıcalıklı (çekirdek) modu CPU kullanımını artırır. Bu artış genellikle her yürütmede birkaç mikrosaniyeden fazla eklemez. Ayrıca, HoBT'lerdeki bu uzatılmış süper mandallar nedeniyle yüksek hacimli PAGELATCH_* beklemeleri görebilirsiniz. 

Durum

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