KB974006 - SQL Server Sorgu İyileştiricisi düzeltmesi izleme bayrağı 4199 hizmet modeli

Uygulandığı Öğe
Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Standard X64 Edition Microsoft SQL Server 2005 Enterprise X64 Edition Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Workgroup Edition SQL Server 2008 Standard SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Workgroup SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

GİRİŞ

Microsoft SQL Server'in SQL Server 2000 Service Pack 3'ten (SP3) sonraki sürümleri, var olan üretim müşterilerinin performans gerilemelerine neden olabilecek beklenen plan değişikliklerini görmesini önlemek için, Sorgu İyileştiricisi'ne düzeltmelerin çoğunu varsayılan olmayan bir durumda teslim etmiştir. İlk başta, her düzeltme ayrı bir izleme bayrağı altında teslim edildi. Daha sonra bu uygulama değiştirildi, böylece çoğu bayrak tek bir iz bayrağı altında birleştirildi (4199). Bu yeni uygulama, aşağıdaki güncelleştirmelerle başlayarak birden çok sürüm genelinde başlatılmıştır:

  • SQL ServerSQL Server 2005 Service Pack 3 (SP3) Cumulative Update 6
  • SQL ServerSQL Server 2008 Service Pack 1 (SP1) Cumulative Update package 7
  • SQL ServerSQL Server 2008 R2 (RTM)

İzleme bayrağı 4199, gelecekteki bir sürümde varsayılan olarak açık olması amaçlanan düzeltmeleri toplamak için kullanılırken, diğer izleme bayrakları, bir düzeltmenin geçerli biçimde varsayılan olarak açık olmasının amaçlanmadığı durumlar için kullanıldı. SQL Server 2016 RTM'den başlayarak, veritabanı COMPATIBILITY_LEVEL ayarı varsayılan olarak izleme bayrağı 4199 ile ilgili düzeltmeleri etkinleştirmek için kullanılacaktır. Bu makalede, SQL Server 2016 ve sonraki sürümler için planı etkileyen düzeltmelerin nasıl teslim edileceğine ilişkin mekanik ve ilkeler açıklanır.

Daha Fazla Bilgi

SQL Server 2016'da, SQL Server'un önceki sürümlerinde yapılan izleme bayrağı 4199 düzeltmeleri, izleme bayrağı 4199 etkinleştirilmeden veritabanı COMPATIBILITY_LEVEL 130 altında etkinleştirilir. 130 uyumluluk düzeyi kullanılarak veritabanları için gelecekteki SQL Server 2016 düzeltmelerini yayımlamak için 4199 İzleme bayrağı kullanılacaktır. İzleme bayrağı 4199 yalnızca belirli performans sorunlarıyla karşılaşan müşteriler için önerildiğinden, müşterilerin veritabanlarını en son uyumluluk düzeyine geçirdikten sonra izleme bayrağı 4199'u kaldırmaları önerilir, çünkü izleme bayrağı 4199 uygulamanız için geçerli olmayabilecek ve bir üretim sisteminde beklenmedik plan performans değişikliklerine neden olabilecek gelecekteki düzeltmeler için yeniden kullanılacaktır. Bu, belirli bir ürün sürümünde desteklenen her uyumluluk düzeyi için farklı izleme bayrağı 4199 düzeltmelerinin etkinleştirildiği anlamına gelir. En son uyumluluk düzeyi, izleme bayrağı 4199 altında önceki tüm düzeltmeleri zaten etkinleştiriyor. Bu, veritabanını en son uyumluluk düzeyine yükseltmenin ve izleme bayrağı 4199'u kaldırmanın, bir iş yükünün veritabanı yükseltmesinden önce yararlandığı tüm düzeltmeleri etkinleştirdiği, ancak yeni düzeltmeleri etkinleştirmediği anlamına gelir. Daha sonra müşteriler sorgu performansıyla ilgili sorunlarla karşılaşırsa, sorunların çözülüp çözülmediğini belirlemek için bir test ortamında veritabanı kapsamlı seçenek QUERY_OPTIMIZER_HOTFIXES veya sorgu ipucu ENABLE_QUERY_OPTIMIZER_HOTFIXES etkinleştirmeyi deneyebilirsiniz. QUERY_OPTIMIZER_HOTFIXES ile ilgili belgelere bakın.

Notlar Varsayılan olarak, SQL ServerSQL Server 2016'da oluşturulan veritabanları uyumluluk düzeyi 130'u kullanır ve yeni iyileştirici mantığı zaten etkinleştirilmiştir.

Bu modelin en büyük avantajı, yükseltme işlemi sırasında üretim sistemleri için riski azaltmasıdır. Bu yaklaşım, yeni bir ana SQL Server sürümünün yüklenmesini tüm yeni sorgu işlemcisi değişikliklerinin otomatik olarak etkinleştirilmesinden ayırır. Ana sürüm yükseltmeleri dosya biçimini değiştirdiğinden ve geri alınamadığından, yükseltme sırasında beklenmeyen bir plan performans sorunuyla karşılaşıldığında müşterinin hızlı bir şekilde eski sürüme geçmesine olanak tanıdığından, COMPATIBILITY_LEVEL ayarını kullanmak iyi olabilir. Müşteri, uygulama yükseltmesini engelleyen beklenmeyen bir plan değişikliği bulursa, önceki planı zorlamak için Sorgu Deposu'nu kullanarak uygun bir plan ipucu uygulayarak durumu rahatlatabilir veya geçici bir çözüm veya düzeltme sağlamak için soruna yardımcı olmak üzere Microsoft Müşteri Desteği'ne başvurarak durumu rahatlatabilir. Tüm sorunlar azaltıldığında, yükseltme devam edebilir. Müşterilerin bu özelliği SQL ServerSQL Server 2016 için yükseltme planlamalarına entegre etmeleri gerekir.

Aşağıdaki tabloda, izleme bayrağı 4199'un SQL Server 2016'dan başlayarak nasıl çalışacağına ilişkin model açıklanmaktadır.

Ayar SQL uyumluluk düzeyi İzleme bayrağı 4199 İyileştirme düzeltmeleri öncesinde, SQL ServerSQL Server 2016 RTM SQL Server 2016 RTM sonrası iyileştirici düzeltmeleri
1. 120 Kapalı Paylaş Paylaş
2. 120 Açık Etkin Paylaş
3. 130 Kapalı Uyumluluk düzeyi tarafından etkinleştirildi Paylaş
4. 130 Açık Uyumluluk düzeyi tarafından etkinleştirildi Uyumluluk düzeyi tarafından etkinleştirildi

Not: SQL Server 2016'ya yeni yükselten müşteriler için 3 numaralı ayar önerilir.

Microsoft, SQL Server 2016'dan sonraki ana sürümlerde iyileştirici düzeltmeleri için bu hizmet modelini kullanmaya devam etmeyi planlamaktadır. Varsayılan olarak veya her sürümde, önceki sürümden tüm izleme bayrağı 4199 düzeltmeleri sonraki uyumluluk düzeyinde etkinleştirilir. Bu, en son uyumluluk düzeyine geçtikten sonra müşteriler için önerilen durumun izleme bayrağı 4199'un devre dışı bırakılması olacağı anlamına gelir. Daha sonraki düzeltmeler, bir uygulamada söz konusu belirli düzeltmeleri etkinleştirmesi gereken müşterilere yönelik düzeltmeleri etkinleştirmek için izleme bayrağı 4199'u kullanacaktır. Gelecekteki beklenmedik iyileştirici değişikliklerinin bir uygulamada beklenmedik bir şekilde etkinleştirilmesini önlemek için müşterilerin bir uygulama en son uyumluluk düzeyine yükseltildikten sonra izleme bayrağı 4199'u devre dışı bırakmaları önerilir. En son uyumluluk düzeyine yükseltme ve izleme bayrağı 4199'u kaldırma, bir iş yükünün yükseltmeden önce yararlandığı tüm düzeltmeleri etkinleştirmeye devam eder, ancak yeni düzeltmeleri sağlamaz.

Notlar Birçok iyileştirici düzeltmesi izleme bayrağı 4199 altında etkinleştirilirken, bazıları diğer izleme bayraklarını kullanır. İzleme bayrağı 4199, yaygın olarak uygulanabilir ve gelecekteki bir sürümde varsayılan olarak etkinleştirilmesi muhtemel olan izleme bayraklarını geçmişte kapsıyordu. Alternatif izleme bayrakları, koşulların yalnızca birkaç müşteri için çok özel olduğu, düzeltmenin diğer uygulama türlerinde performans gerilemelerine neden olabileceği veya iç işlevselliğin herkes için etkinleştirilmeye hazır olmadan önce değişiklikler görebileceği düzeltmelerde kullanılır. Microsoft, ürün için gereken diğer izleme bayraklarını kullanmaya devam edecektir.

Notlar Bu makale, en son ürünün en son uyumluluk düzeyinde izleme bayrağı 4199 düzeltmelerini yayımlama modeline odaklanır. (Yayın zamanı geldiğinde bu SQL ServerSQL Server 2016.) İyileştirici düzeltmeleri, SQL Server'in eski pazar içi sürümlerinde veya SQL Server 2016'nın daha düşük uyumluluk düzeylerinde (120 veya öncesi) yayınlanabilir. Microsoft her durumu değerlendirir ve izleme bayrağı 4199 mu yoksa farklı bir izleme bayrağı mı kullanılacağını belirler. Sonraki bir uyumluluk düzeyine geçiş yapıldığında düzeltme dışı değişiklikler de etkinleştirildiğinden, yükseltme sırasında (izleme bayrağı 4199 ile veya olmadan) plan değişiklikleri olmayacağına dair belirli bir söz yoktur. Müşteriler, üretim uygulamaları için uyumluluk düzeyindeki değişiklikleri her zaman dikkatli bir şekilde test etmeli ve plan seçimiyle ilgili bir performans sorunu varsa Query Store gibi risk azaltma teknolojilerini kullanmalıdır.

Başvuru amacıyla, izleme bayrağı 4199 kullanıma sunulmadan önce sorgu işlemcisi düzeltmeleri için aşağıdaki izleme bayrakları kullanılmıştır:

4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4115, 4116, 4117, 4119, 4120, 4121, 4122, 4124, 4125, 4126, 4127, 4128, 4129, 4131, 4133, 4135.

SQL ServerSQL Server 2012 ve sonraki sürümler

İzleme bayrağı 4199 SQL ServerSQL Server 2012 ve sonraki sürümlerin yayın sürümlerinde yer almaktadır.

4199 izleme bayrağını etkinleştirme

4199 izleme bayrağını başlangıçta veya kullanıcı oturumunda etkinleştirebilirsiniz. Bu izleme bayrağının genel düzeyde veya oturum düzeyinde etkisi vardır. İzleme bayrağı 4199'u etkinleştirmek için DBCC TRACEON komutunu kullanın veya başlangıç parametresi olarak –T 4199'u kullanın.

DBCC TRACEON\TRACEOFF kullanılırsa, bu depolanmış yordamlar için önbelleğe alınmış yeni bir planı yeniden oluşturmaz. Planlar, izleme bayrağı olmadan oluşturulmuş önbellekte olabilir.

İzleme bayraklarını etkinleştirme veya devre dışı bırakma hakkında ayrıntılı bilgi için ve genel ve oturum düzeyinde izleme bayraklarının açıklamaları için SQL ServerSQL Server Books Online'daki şu konulara bakın:

Başvurular

SQL Server güncelleştirmelerin adlandırma şeması hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

822499
Microsoft SQL Server için yeni adlandırma şemasıSQL Server yazılım güncelleştirme paketleri
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:

824684
Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması