Özel sorgu düzeyine göre farklı izleme bayrakları tarafından denetlenen planı etkileyen SQL Server sorgu en iyi duruma getiricisi davranışını etkinleştirmek

Makale çevirileri Makale çevirileri
Makale numarası: 2801413 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Giriş

Microsoft SQL Server 2000 Service Pack 3 (SP3) ile başlayarak, SQL Server Sorgu işlemcisi ekip çalışmasını potansiyel olarak etkileyebilecek herhangi bir düzeltme için bir sorgu planı İlkesi benimsenen İzleme Bayrağına Göre denetlenmesi gerekir. Düzeltmeleri için yanlış sonuçlar veya bozulmasına neden olabilecek hatalar dışında bu düzeltme varsayılan olarak devre dışı bırakılmıştır ve izleme bayrağı düzeltmeyi etkinleştirmek için gereklidir. Bu ilke, bir düzeltme veya güvenlik güncelleştirmesi yüklü olduğunda oluşabilecek varolan iş yükleri, yürütme planları beklenmedik değişiklikleri önlemeye yardımcı olur.

Genellikle izleme bayrakları başlangıç sırasında veya kullanıcı oturumunda etkin duruma gelir. Ancak, bu varolan bir veritabanı uygulamasında bazı sorguların beklenmeyen bir etkisi olabilir. Örneğin, bir uygulama veya birden çok sorgu içeren iş yükünü düşünün ve karşılık gelen bir düzeltme denetleyen bir izleme bayrağı'nı etkinleştirerek geliştirilmiş bir verimsiz bir sorgu yürütme planı bazı bu sorguları kullanın. Ancak, aynı izleme bayrağı uygulandığında, diğer sorgular daha iyi bir yürütme planı karşılaşabilirsiniz. Bu örneğinde derlenen tüm sorguları yürütme planı seçim etkiler veya oturum zaman karşılık gelen izleme bayrağı etkin olmasıdır. Sorgu ve veri bağlı olarak, sorgu iyileştiricisi tarafından kullanılan modelleri değiştirme hem artırmayı ve yürütme planı verimlilik ve derleme süresi belirli sorgular.

İzleme bayrağı istenmeyen bir şekilde herhangi bir sorgu yürütme planı etkiler, ancak diğer sorgu yürütme planı artırır, belirli bir sorgu için bir izleme bayrağı etkinleştirmek isteyebilirsiniz. İzleme bayrağı (DBCC TRACEON komutunu kullanarak) toplu sağ hedef sorgu önce etkin ve sonra sorguyu izleme bayrağı (DBCC TRACEOFF komutunu kullanarak) hakkı devre dışı bırakma bunu yapabilirsiniz. Ancak, bu her zaman varolan uygulamalar için Transact-SQL toplu metni kontrol etmek mümkün olmayabilir. Varolan bir iş yükünü zayıf sorgu performans deneyimi ve toplu metni değiştirmeden Sorgu için kullanılabilir plan etkileyen değişiklik uygulamak istediğiniz. Belirli bir sorgu için bir izleme bayrağı etkinleştirmek için bir sorgu düzeyi seçeneğini kullanarak bunu yapabilirsiniz.

Microsoft SQL Server 2005 Service Pack 2 (SP2) ve Microsoft SQL Server 2008 sorgu düzeyi seçeneği ile başlayan "QUERYTRACEON" kullanılabilir. Bu seçenek, yalnızca tek sorgu derlenirken bir plan etkileyen izleme bayrağı etkinleştirmenizi sağlar. Diğer sorgu düzeyi seçenekleri gibi herhangi bir oturum ile çalıştırılan bir sorgu metni eşleştirmek için plan kılavuzları ile birlikte kullanın ve bu sorgu derlendiğinde planı etkileyen bir izleme bayrağı otomatik olarak uygulanır.

Daha fazla bilgi

QUERYTRACEON ipucu sağlayan bir plan etkileyen değişiklik izleme bayrağı tarafından denetlenen sorgu en iyi duruma getiricisi sorgu ipucu olarak kullanılabilir. QUERYTRACEON İpucu seçeneği yan tümce için diğer benzer bir parçası olarak belirtilen Sorgu ipuçları.

Sözdizimi

<querytraceon_hint> ::=
       { QUERYTRACEON trace_flag_number }

Bağımsız değişkenler

QUERYTRACEON trace_flag_number

Bu sorgu derleme sırasında etkin plan etkileyen izleme bayrağı sayıyı belirtir. Aşağıdaki izleme bayrağı numaralarını desteklenir:
Bu tabloyu kapaBu tabloyu aç
İzleme bayrağı Microsoft Bilgi Bankası makalesiKullanılabilir
4199974006SQL Server 2005 Service Pack 3 için toplu güncelleştirme 6;
SQL Server 2008 için toplu güncelleştirme 7;
SQL Server 2008 Service Pack 1 için toplu güncelleştirme 7;
SQL Server 2008 R2 ve sonraki sürümleri.
Tüm izleme bayrakları 4199 tarafından kapsanan974006SQL Server 2005 Service Pack 3 için toplu güncelleştirme 6;
SQL Server 2008 için toplu güncelleştirme 7;
SQL Server 2008 Service Pack 1 için toplu güncelleştirme 7;
SQL Server 2008 R2 ve sonraki sürümleri.
23352413549SQL Server 2005 ve sonraki sürümleri.
23402009160SQL Server 2005 ve sonraki sürümleri.
2389, 2390YokSQL Server 2005 ve sonraki sürümleri. SQL Server 2005'te bilinen bir sorun ortamlar Lütfen bakın 929278.
4136980653SQL Server 2005 Service Pack 3 için Toplu Güncelleştirme 9;
SQL Server 2008 Service Pack 1 için toplu güncelleştirme 7;
SQL Server 2008 R2 ve sonraki sürümler için toplu güncelleştirme 2.
41372658214SQL Server 2008 Service Pack 2 için toplu güncelleştirme 8;
SQL Server 2008 Service Pack 3 için toplu güncelleştirme 7;
SQL Server 2008 R2 Service Pack 1 için toplu güncelleştirme 5;
SQL Server 2012 ve sonraki sürümler için toplu güncelleştirme 1.
41382667211SQL Server 2008 R2 için toplu güncelleştirme 13;
SQL Server 2008 R2 Service Pack 1 için toplu güncelleştirme 7;
SQL Server 2008 R2 Service Pack 2 için toplu güncelleştirme 1;
SQL Server 2012 ve sonraki sürümler için toplu güncelleştirme 2...


Microsoft SQL Server 2014'de aşağıdaki plan etkileyen izleme bayrakları kullanılabilir:
Bu tabloyu kapaBu tabloyu aç
İzleme bayrağıAçıklama
9481SQL Server 2014 varsayılan veritabanı uyumluluk düzeyi 120 ile çalışırken kullanın. İzleme bayrağı 9481 Sorgu iyileştirici sorgu planı oluşturma sırasında önem estimator 70 (SQL Server 2012 sürümü) sürümünü kullanmaya zorlar.
2312SQL Server 2014 uyumluluk düzeyini SQL Server 2012 için olan veritabanı uyumluluk düzeyi 110, çalışırken kullanın. İzleme bayrağı 2312 Sorgu iyileştirici sorgu planı oluşturma sırasında önem estimator 120 (SQL Server 2014 sürüm) sürümünü kullanmaya zorlar.

Açıklamalar

Tabloda listelenen izleme bayrakları dışında izleme bayraklarını QUERYTRACEON seçeneği desteklenmiyor. Desteklenmeyen izleme bayrağı numarası kullanılır, ancak bu seçenek herhangi bir hata veya uyarı döndürmez. Belirtilen izleme bayrağı, bir sorgu yürütme planı etkileyen değilse, seçenek sessizce gözardı edilecek.

Varsa seçenek yan tümcesinde birden fazla izleme bayrağı belirtilebilir QUERYTRACEON trace_flag_number farklı bir izleme bayrağı sayılarla yineleniyor.

QUERYTRACEON seçeneği kullanılabilir Plan kılavuzları.

Örnekler

  • Belirli bir sorgu için izleme bayrağı 4199 tarafından denetlenen tüm plan etkileyen düzeltmeler etkinleştirebilirsiniz. Örneğin, aşağıdaki sorguyu kullanabilirsiniz:
    SELECT x FROM correlated WHERE f1 = 0 and f2 = 1 OPTION (QUERYTRACEON 4199)
  • İzleme Bayrakları 4199 ve belirli bir sorgu için 4137 tarafından denetlenen tüm plan etkileyen düzeltmeler etkinleştirebilirsiniz. Örneğin, aşağıdaki sorguyu kullanabilirsiniz:
    SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

Özellikler

Makale numarası: 2801413 - Last Review: 25 Nisan 2014 Cuma - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
Anahtar Kelimeler: 
kbinfo kbsurveynew kbexpertiseinter kbhowto kbmt KB2801413 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 2801413

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com