GİRİŞ
Microsoft SQL Server'in SQL Server 2000 Service Pack 3'den (SP3) sonraki sürümleri, mevcut üretim müşterilerinin performans gerilemelerine neden olacak beklenen plan değişikliklerini görmelerini önlemek için sorgu iyileştiricisi için varsayılan olmayan bir durumda çoğu düzeltme teslim eder. İlk başta, her düzeltme ayrı bir izleme bayrağı altında teslim edildi. Daha sonra bu uygulama, bayrakların çoğu tek bir izleme bayrağı (4199) altında birleştirildi. Bu yeni uygulama, aşağıdaki güncelleştirmelerden başlayarak birden çok sürümde başlatıldı:
-
SQL Server 2005 Service Pack 3 (SP3) Toplu Güncelleştirmesi 6
-
SQL Server 2008 Service Pack 1 (SP1) Toplu Güncelleştirme Paketi 7
-
SQL Server 2008 R2 (RTM)
İzleme bayrağı 4199, gelecek sürümlerde varsayılan olarak kullanılmak üzere tasarlanmış düzeltmeleri toplamak için kullanılırken, diğer izleme bayrakları geçerli formda varsayılan olarak düzeltmenin olması amaçlanmıldığı durumlar için kullanılırdı. SQL Server 2016 RTM'den başlayarak, veritabanı COMPATIBILITY_LEVEL ayarı, izleme bayrağı 4199'la ilgili düzeltmeleri varsayılan olarak etkinleştirmede kullanılacaktır. Bu makalede, plan etkileyen düzeltmelerin 2016 ve sonraki sürümlerde nasıl teslim SQL Server ilkeli olduğu açıklanmıştır.
Ek Bilgi
SQL Server 2016'da, SQL Server'in önceki sürümlerde yapılan izleme bayrağı 4199 düzeltmeleri, izleme bayrağı 4199 etkinleştirilmeden veritabanı COMPATIBILITY_LEVEL 130'un altında etkinleştirilir. İzleme bayrağı 4199, veritabanları için 130 uyumluluk düzeyi kullanan tüm SQL Server 2016 düzeltmelerini serbest bırakmak için kullanılacaktır. İzleme bayrağı 4199 yalnızca belirli performans sorunlarını gören müşterilere önerilmez, çünkü izleme bayrağı 4199 veritabanlarını en son uyumluluk düzeyine geçirdikten sonra müşterilerin izleme bayrağı 4199'ü kaldırmaları önerilir, çünkü izleme bayrağı 4199 uygulamanıza uygulanmayacak ve üretim sisteminde beklenmedik plan performans değişikliklerine neden olabilir. Bu, verilen bir ürün sürümde desteklenen her uyumluluk düzeyi için farklı izleme bayrağı 4199 düzeltmelerini etkinleştirmiş olduğu anlamına gelir. En son uyumluluk düzeyi zaten izleme bayrağı 4199'un altındaki önceki tüm düzeltmeleri sağlar. Bu, veritabanını en son uyumluluk düzeyine yükseltmenin ve izleme bayrağı 4199'un kaldırılmasının, veritabanı yükseltmeden önce iş yükünün kaldırılarak çalışan iş yükünün tüm düzeltmelerine olanak sağlamaya devam olduğu anlamına gelir; yalnızca yeni düzeltmeler değil. Daha sonra müşteriler sorgu performansı sorunlarıyla deneyimlenirse, sorunların çözülmüş olup olmadığını belirlemek için veritabanı kapsamına sahip seçeneği etkinleştirmeyi QUERY_OPTIMIZER_HOTFIXES bir test ortamında ENABLE_QUERY_OPTIMIZER_HOTFIXES ipucunu etkinleştirmeyi deneyin. Ayrıntılarla ilgili belgelere QUERY_OPTIMIZER_HOTFIXES.
Yükleme dosyasının doğru sürümü ve sağlaması olduğunda Algıla ve Onar bu dosyanın üzerine kopyalamaz. Varsayılan olarak, SQL Server 2016'da oluşturulan veritabanlarında uyumluluk düzeyi 130 kullanılır ve yeni optimizer mantığı zaten etkinleştirilmiş durumdadır.
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 sorgu işlemcisinin tüm yeni SQL Server değişikliklerinin otomatik olarak etkinleştirilmesi ile yeni bir ana sürümünün yüklenmesi birbirinden ayrıdır. Ana sürüm yükseltmeleri dosya biçimini değiştirdiği ve geri alınamaz olduğu için, COMPATIBILITY_LEVEL ayarını kullanmak iyi bir yöntemdir çünkü yükseltme sırasında beklenmeyen bir plan performans sorunu bulunursa müşterinin hızla indirgenebilir. Müşteri, uygulama yükseltmesini engelleyen beklenmeyen bir plan değişikliği bulursa, önceki planı zorlamak için Query Store'u kullanarak uygun bir plan ipucu uygulayarak durumu kolaylaştırebilir veya geçici bir çözüm veya düzeltme sağlamak için Microsoft Müşteri Desteği'ne başvurarak durumu kolaylaştırabilirsiniz. Tüm sorunlar az olduğunda, yükseltme devam edecektir. Müşteriler, bu özelliği SQL Server 2016'ya yükseltme planlamalarıyla tümleştirin. Aşağıdaki tabloda, izleme bayrağı 4199'un 2016'dan başlayarak nasıl SQL Server açıklandı.
Ayar |
SQL uyumluluk düzeyi |
İzleme bayrağı 4199 |
2016 RTM'den SQL Server düzeltmeler |
2016 RTM'den SQL Server düzeltmeler |
---|---|---|---|---|
1. |
120 |
Devre Dışı |
Devre dışı |
Devre dışı |
2. |
120 |
Etkin |
Etkin |
Devre dışı |
3. |
130 |
Devre Dışı |
Uyumluluk düzeyi tarafından etkinleştirildi |
Devre dışı |
4. |
130 |
Etkin |
Uyumluluk düzeyi tarafından etkinleştirildi |
Uyumluluk düzeyi tarafından etkinleştirildi |
Not Ayarı Hayır. 3, 2016'ya yeni yükseltilen müşteriler SQL Server önerilir.
Microsoft, 2016'dan SQL Server yapılan önemli sürümlerde, iyileştirme düzeltmeleri için bu hizmet modelini kullanmaya devam edecek. Varsayılan olarak veya her sürümde, önceki sürümden gelen izleme bayrağı 4199 düzeltmeleri sonraki uyumluluk düzeyinde etkinleştirilir. Bu, en son uyumluluk düzeyine geçiş sonrasında müşteriler için önerilen durumunun izleme bayrağı 4199'un devre dışı bırakılacak olması anlamına gelir. Daha sonraki düzeltmelerde, uygulamada bu belirli düzeltmeleri etkinleştirmesi gereken müşterilere yönelik düzeltmeleri etkinleştirmek için izleme bayrağı 4199 kullanılabilir. Bir uygulamanın beklenmedik bir şekilde bir uygulamada beklenmedik şekilde etkinleştirilmesini önlemek için, uygulama en son uyumluluk düzeyine yükseltildikten sonra izleme bayrağı 4199'un devre dışı bırakılması önerilir. En son uyumluluk düzeyine yükseltilmesi ve izleme bayrağı 4199'un kaldırılması, yeni düzeltmeler değil, iş yükünün yükseltmeden önce çalışan iş yükünün tüm düzeltmelerine olanak sağlar.Yükleme dosyasının doğru sürümü ve sağlaması olduğunda Algıla ve Onar bu dosyanın üzerine kopyalamaz. İzleme bayrağı 4199'un altında birçok iyileştirici düzeltmesi etkin durumdayken, bazıları diğer izleme bayraklarını kullanır. İzleme bayrağı 4199 geçmiş olarak kaplanmış, yaygın olarak uygulanabilir ve gelecekteki bir sürümde varsayılan olarak etkinleştirilmesi muhtemel izleme bayrakları. Alternatif izleme bayrakları, koşulların yalnızca birkaç müşteriye özel olduğu, diğer uygulama türlerde performans gerilemelerine veya iç işlevlerin herkes için etkinleştirilmeye hazır olmadan önce değişiklikleri göreceği düzeltmelerde kullanılır. Microsoft, ürüne hizmet olmak için gereken diğer izleme bayraklarını kullanmaya devam eder.
Not Bu makale, en son ürünün en son uyumluluk düzeyindeki izleme bayrağı 4199 düzeltmelerini yayınlanacak olan modele odaklanır. (Yayında bu, SQL Server 2016'dır.) İyileştirici düzeltmeleri, SQL Server'in eski pazar öncesi sürümlerinde veya SQL Server 2016'nın düşük uyumluluk düzeylerinde (120 veya daha önceki) yayınlanıyor olabilir. Microsoft her vakayı değerlendirir ve izleme bayrağı 4199'un mu yoksa farklı bir izleme bayrağının mı kullanılamayacaklarını belirler. Daha sonraki bir uyumluluk düzeyine taşıma işlemi de etkinleştirildiğinde düzeltme olmayan değişiklikler etkinleştirildiğinden, yükseltme sırasında (izleme bayrağı 4199'la veya bu bayrak olmadan) hiçbir plan değişikliğinin oluşmayacağına yönelik belirli bir söz yoktur. Üretim uygulamaları için müşteriler, uyumluluk düzeyindeki değişiklikleri her zaman dikkatle testmalıdır ve plan seçimiyle ilgili bir performans sorunu varsa Sorgu Deposu gibi risk azaltma teknolojilerini kullanmaları gerekir. Başvuru için, izleme bayrağı 4199'a giriş öncesinde 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 Server 2012 ve sonraki sürümleri
İzleme bayrağı 4199, SQL Server 2012 ve sonraki sürümlerin sürümlerine dahildir.
İzleme bayrağı 4199 nasıl etkinleştirilen
İzleme bayrağı 4199'ü başlangıçta veya kullanıcı oturumunda etkinleştirebilirsiniz. Bu izleme bayrağının genel düzeyde veya oturum düzeyinde bir etkisi vardır. İzleme bayrağı 4199'ü etkinleştirmek için DBCC TRACEON komutunu veya başlangıç parametresi olarak –T 4199'ü kullanın.
DBCC TRACEON\TRACEOFF kullanılırsa, bu durum depolanmış yordamlar için yeni önbelleğe alınmış yeni bir plan 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 ve genel ve oturum düzeyinde izleme bayraklarının açıklamaları için, SQL Server Books Online'daki aşağıdaki konulara bakın:Başvurular
Güncelleştirmeleri adlandırma şemaları hakkında daha fazla SQL Server, Microsoft Bilgi Bankası'nın makalesine görüntülemek üzere aşağıdaki makale numarasına tıklayın:
822499 Yeni adlandırma şeması için Microsoft SQL Server güncelleştirme paketleri Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'nın makalesini 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ı