Aktivieren Sie Plan beeinflussen SQL Server-Optimierer Abfrageverhalten, die von anderen Ablaufverfolgungsflags auf spezifische Abfrage gesteuert werden können

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 2801413
Einführung
Ab Microsoft SQL Server 2000 Service Pack 3 (SP3), muss der SQL Server-Abfrage Prozessorteam erlassen eine Richtlinie, die jeder Hotfix, der die Ausführung potenziell beeinträchtigen Planen einer Abfrage durch ein Ablaufverfolgungsflag gesteuert werden. Außer Korrekturen von Fehlern, die falsche Ergebnisse oder einer Beschädigung führen können diese Hotfixes sind standardmäßig deaktiviert und ein Ablaufverfolgungsflag ist erforderlich, um das Update zu aktivieren. Diese Richtlinie kann unerwartete Änderung der Ausführungspläne vorhandenen Arbeitslasten zu vermeiden, die auftreten können, wenn Sie einen Hotfix oder ein Update installiert ist.

Ablaufverfolgungsflags werden normalerweise beim Start oder in einer Benutzer-Sitzung aktiviert. Jedoch kann dies unerwartete einige Abfragen in einer vorhandenen datenbankanwendung auswirken. Angenommen, eine Anwendung oder ein Arbeitslast, die mehrere Abfragen enthält und dieser Abfragen eine ineffiziente aktivieren ein Ablaufverfolgungsflag, der entsprechenden Hotfix verbessert Abfrageausführungsplan verwenden. Jedoch können andere Abfragen einen weniger optimalen Ausführungsplan auftreten derselben Ablaufverfolgungsflag angewendet wird. Ist Execution Planauswahl wirkt sich auf alle Abfragen, die in der Instanz kompiliert werden oder wenn das entsprechende Ablaufverfolgungsflag Sitzung aktiviert. Die Abfrage und die Daten ändern der Modelle, die vom Abfrageoptimierer verwendet möglicherweise verbessern sowohl Zeitaufwand Execution Plan Effizienz und Kompilierung für bestimmte Abfragen.

Wenn ein Ablaufverfolgungsflag wirkt sich auf alle Abfrageausführungsplan auf unerwünschte Weise, aber einige andere Abfrageausführungsplan verbessert, können Sie eine entsprechende Ablaufverfolgungsflag für eine bestimmte Abfrage aktivieren möchten. Hierzu können Sie das Ablaufverfolgungsflag vor der Abfrage in einem Batch (mithilfe von DBCC TRACEON-Befehl) aktivieren und deaktivieren Trace-Flag (mithilfe von DBCC TRACEOFF-Befehl) rechts nach der Abfrage. Jedoch kann dies nicht immer den Transact-SQL-Batch Text für vorhandene Anwendung en möglich. Sie können auftreten einer schlechten Abfrageperformance in eine vorhandene Arbeitslast und einer verfügbaren Plan beeinflussen Ändern einer Abfrage ohne Stapeltext zuweisen möchten. Dies kann mithilfe einer Abfrage-Option auf ein Ablaufverfolgungsflag für eine bestimmte Abfrage aktivieren.

Mit Microsoft SQL Server 2005 Service Pack 2 (SP2) und Microsoft SQL Server 2008 die Option Abfrage Level steht "QueryTraceOn.". Diese Option können Sie ein Ablaufverfolgungsflag Plan beeinflussen nur während einzelne Abfrage Kompilierung aktivieren. Wie andere Optionen Abfrageebene können entsprechend den Text einer Abfrage aus einer Sitzung ausgeführten Planhinweislisten verwenden und ein Ablaufverfolgungsflag Plan beeinflussen automatisch anwenden, wenn diese Abfrage kompiliert wird.
Weitere Informationen
QueryTraceOn-Hinweis steht als Abfragehinweis, der eine Änderung der Planung beeinflussen den Abfrageoptimierer ermöglicht, die über ein Ablaufverfolgungsflag gesteuert. QueryTraceOn-Hinweis wird als Teil der OPTION -Klausel ähnelt anderen angegeben. Abfragehinweise.

Syntax

<querytraceon_hint> ::=       { QUERYTRACEON trace_flag_number }

Argumente

QUERYTRACEON. trace_flag_number

Dies gibt eine Plan beeinflussen Nummer des Ablaufverfolgungsflags, die beim Kompilieren der Abfrage aktiviert ist. Trace-Flag Zahlen werden unterstützt:
Ablaufverfolgungsflags Microsoft Knowledge Base-ArtikelVerfügbar in
4199974006Kumulativen Updates 6 für SQL Server 2005 Servicepack 3;
Kumulative Update 7 für SQL Server 2008;
Kumulative Update 7 für SQL Server 2008 Servicepack 1;
SQL Server 2008 R2 oder höher.
Alle Ablaufverfolgungsflags fallenden 4199974006Kumulativen Updates 6 für SQL Server 2005 Servicepack 3;
Kumulative Update 7 für SQL Server 2008;
Kumulative Update 7 für SQL Server 2008 Servicepack 1;
SQL Server 2008 R2 oder höher.
23352413549SQL Server 2005 und höher
23402009160SQL Server 2005 und höher
2389, 2390KeineSQL Server 2005 und höher Ein bekanntes Problem in SQL Server 2005 finden Sie Umgebung 929278.
4136980653Kumulative Update 9 für SQL Server 2005 Servicepack 3;
Kumulative Update 7 für SQL Server 2008 Servicepack 1;
Kumulative Update 2 für SQL Server 2008 R2 oder höher.
41372658214Kumulatives Update 8 für SQL Server 2008 Servicepack 2;
Kumulative Update 7 für SQL Server 2008 Servicepack 3;
Kumulatives Update 5 für SQL Server 2008 R2 Servicepack 1;
Kumulatives Update 1 für SQL Server 2012 und höher.
41382667211Kumulatives Update 13 für SQL Server 2008 R2;
Kumulative Update 7 für SQL Server 2008 R2 Servicepack 1;
Kumulatives Update 1 für SQL Server 2008 R2 Servicepack 2;
Kumulative Update 2 für SQL Server 2012 und höher.


Die folgenden Plan die Ablaufverfolgungsflags stehen in Microsoft SQL Server 2014:
AblaufverfolgungsflagsBeschreibung
9481Verwenden der Standard-Datenbank-Kompatibilitätsgrad 120 SQL Server 2014 mit. Das Ablaufverfolgungsflag 9481 zwingt den Abfrageoptimierer Erstellung Abfrageplan Kardinalität Estimator Version 70 (Version SQL Server 2012) verwenden.
2312Wird verwendet, wenn der Kompatibilitätsgrad der Datenbank 110, SQL Server 2014 mit dem Kompatibilitätsgrad für SQL Server 2012 ist. Das Ablaufverfolgungsflag 2312 zwingt den Abfrageoptimierer Erstellung Abfrageplan Kardinalität Estimator Version 120 (Version SQL Server 2014) verwenden.

Beschreibung

QueryTraceOn-Option wird nicht für Ablaufverfolgungsflags als Ablaufverfolgungsflags unterstützt, die in der Tabelle aufgeführt sind. Jedoch wird diese Option nicht zurück Fehler oder Warnung Wenn eine Nummer nicht unterstützten Ablaufverfolgungsflags verwendet wird. Wenn das angegebene Ablaufverfolgungsflag keine, die einen Abfrageausführungsplan betrifft ist, wird die Option automatisch ignoriert.

Mehrere Ablaufverfolgungsflags kann in der OPTION -Klausel angegeben werden, wenn QueryTraceOn. trace_flag_number mit anderen Trace Flag wird dupliziert werden.


Ausführen erfordert einer Abfrage mit der Option QueryTraceOn die Mitgliedschaft in der festen Serverrolle Sysadmin.


QueryTraceOn-Option kann verwendet werden Planhinweislisten.
Beispiele
  • Sie können alle Plan beeinflussen Hotfixes Ablaufverfolgungsflag 4199 für eine bestimmte Abfrage gesteuert. Sie können z. B. die folgende Abfrage:
    SELECT x FROM correlated WHERE f1 = 0 and f2 = 1 OPTION (QUERYTRACEON 4199)
  • Sie können alle Plan beeinflussen Hotfixes von Ablaufverfolgungsflags 4199 und 4137 für eine bestimmte Abfrage gesteuert. Sie können z. B. die folgende Abfrage:
    SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

Warnung: Dieser Artikel wurde automatisch übersetzt.

خصائص

رقم الموضوع: 2801413 - آخر مراجعة: 01/20/2016 11:01:00 - المراجعة: 3.0

Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, 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

  • kbinfo kbsurveynew kbexpertiseinter kbhowto kbmt KB2801413 KbMtde
تعليقات