SQL Server Query Optimizer Hotfix Trace-Flag 4199 Dienstmodell

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: 974006
Einführung
Versionen von Microsoft SQL Server als SQL Server 2000 Service Pack 3 (SP3) für den Abfrageoptimierer in einem Zustand deaktiviert standardmäßig die meisten Hotfixes geliefert, um vorhandene Produktion gehindert werden, zu verhindern, dass später erwartet zu übernehmen, die Leistungsabfall verursachen können. Jedes Hotfix wurde zunächst unter einem separaten Ablaufverfolgungs-Flag übermittelt. Diese Praxis wurde später geändert, so dass unter einer einzigen Ablaufverfolgungsflag (4199) die meisten Flags kombiniert wurden. Diese neue Praxis wurde in mehreren Versionen mit den folgenden Updates starten initiiert:
  • SQL Server 2005 Service Pack 3 (SP3), kumulatives Update 6
  • Kumulatives Updatepaket 7 für SQL Server 2008 Service Pack 1 (SP1)
  • SQL Server 2008 R2 (RTM)
Das Ablaufverfolgungsflag 4199 wurde verwendet, um die Hotfixes zu sammeln, die auf Standardmäßig werden sollen in einer zukünftigen Version andere Ablaufverfolgungsflags verwendet wurden, für Situationen, in denen ein Update wurde nicht sollen auf Standardmäßig werden im aktuellen Formular. Beginnend mit SQL Server 2016 RTM, wird die Datenbank COMPATIBILITY_LEVEL verwendete Enable Trace Flag 4199 bezogenen Hotfixes auf standardmäßig festgelegt. Dieser Artikel beschreibt die Funktionsweise und die Richtlinie wie Plan beeinflussenden Hotfixes für SQL Server 2016 und höher geliefert werden.
Weitere Informationen
In SQL Server 2016: Trace-Flag 4199 Hotfixes, die mit früheren Versionen von SQL Server erfolgen wird unter Datenbank COMPATIBILITY_LEVEL 130 ohne Ablaufverfolgungsflag 4199 aktiviert aktiviert. Das Ablaufverfolgungsflag 4199 dienen, zukünftige SQL Server 2016 Hotfixes für Datenbanken mit 130 Kompatibilitätsgrad freizugeben. Da das Ablaufverfolgungsflag 4199 nur für Kunden empfohlen, die spezielle Leistungsprobleme zu sehen sind, entfernen Sie das Ablaufverfolgungsflag 4199, nachdem sie ihre Datenbanken auf das aktuelle Kompatibilität migriert, da das Ablaufverfolgungsflag 4199 für zukünftige Updates wiederverwendet werden, die für Ihre Anwendung möglicherweise nicht zutreffen und kann bewirken, dass unerwartete Leistungsänderungen auf einem Produktionssystem Benutzer sollten. Dies bedeutet, dass andere Ablaufverfolgung Flag 4199 Hotfixes für jede Ebene der Kompatibilität aktiviert sind, die in einer bestimmten Produktversion unterstützt wird.

Hinweis Standardmäßig SQL Server 2016 erstellten Datenbanken Kompatibilitätsgrad 130 verwenden und neue Optimizer Logik bereits aktiviert haben.

Der große Vorteil dieses Modells ist, dass es während des Aktualisierungsvorgangs Risiko für Produktionssysteme reduziert. Dieser Ansatz trennt die Installation einer neuen Version von SQL Server über die automatische Aktivierung aller Änderungen der neuen Abfrage-Prozessor. Da Hauptversion Upgrades das Dateiformat ändern und können nicht rückgängig gemacht werden, ist es eine gute Idee, die COMPATIBILITY_LEVEL-Einstellung verwenden, da dadurch ein Kunde schnell heruntergestuft, wenn während der Aktualisierung ein unerwarteter Plan-Leistungsproblem gefunden wird. Findet ein Kunde einen unerwarteten Plan ändern, blockiert eine Anwendungsaktualisierung, der Kunde kann die Situation durch die Anwendung eines entsprechenden Plan-Hinweis mit dem Abfrage-Speicher den vorherigen Plan erzwungen erleichtern oder kann die Situation erleichtern, wenden Sie sich an Microsoft Customer Support bieten eine Abhilfe oder der Hotfix-Hilfe mit dem Problem. Wenn alle Probleme verringert werden, kann die Aktualisierung nicht fortsetzen. Kunden sollten diese Funktion in ihre Planung für das Jahr 2016 SQL Server-Aktualisierung integrieren.

In der folgende Tabelle wird das Modell für die Funktionsweise Ablaufverfolgungsflag 4199 beginnend mit SQL Server 2016 erläutert.

Einstellung SQL-KompatibilitätsgradAblaufverfolgungsflag 4199 Optimizer Hotfixes vor SQL Server 2016 RTMOptimizer Hotfixes nach SQL Server 2016 RTM
1. 120AusschaltenDeaktiviertDeaktiviert
2. 120AufAktiviertDeaktiviert
3. 130AusschaltenAktivierte KompatibilitätsgradDeaktiviert
4.130AufAktivierte KompatibilitätsgradAktivierte Kompatibilitätsgrad
Hinweis Nr. 3 festlegen wird Kunden empfohlen, die auf SQL Server 2016 neu aktualisieren.

Microsoft plant für major-Releases nach SQL Server 2016 weiterhin verwenden dieses Dienstmodell Optimizer-Hotfixes. Trace-Flag 4199 Hotfixes von der vorherigen Version wird standardmäßig, oder jede Version auf der nächsten Ebene der Kompatibilität aktiviert. Dies bedeutet, dass der empfohlene Status für Kunden, die nach dem Migrieren sie zu den neuesten Kompatibilitätsgrad Ablaufverfolgungsflag 4199 deaktiviert haben. Spätere Hotfixes verwenden das Ablaufverfolgungsflag 4199 aktivieren Fixes für Kunden, die diese bestimmte Hotfixes in einer Anwendung zu aktivieren. Wir empfehlen unseren Kunden deaktivieren Ablaufverfolgungsflag 4199 nach der Aktualisierung einer Anwendung auf die aktuelle Kompatibilität zu vermeiden müssen unerwartete zukünftige Optimizer Änderungen unerwartet auf eine Anwendung aktiviert.

Hinweis Während viele Optimizer Hotfixes unter Ablaufverfolgungsflag 4199 aktiviert sind, verwenden einige andere Ablaufverfolgungsflags. Das Ablaufverfolgungsflag 4199 in der Vergangenheit abgedeckte Ablaufverfolgungsflags, die weit anwendbar und wahrscheinlich in einer zukünftigen Version standardmäßig aktiviert werden. Alternative Ablaufverfolgungsflags werden Hotfixes verwendet, sind die Bedingungen sehr spezifisch für nur wenige Kunden, die Fehlerbehebung Leistungsabfall in anderen Arten von Anwendungen führen kann oder wenn die interne Funktionen möglicherweise Änderungen erkennt, bevor diese für alle Benutzer aktiviert werden kann. Microsoft wird weiterhin andere Ablaufverfolgungsflags bei Bedarf zum Verarbeiten des Produkts verwenden.

Hinweis Dieser Artikel konzentriert sich auf das Modell für die Freigabe das Ablaufverfolgungsflag 4199 Hotfixes auf das neueste Produkt der aktuelle Kompatibilitätsgrad. (Zum Zeitpunkt der Veröffentlichung ist das SQL Server 2016.) Optimierer-Hotfixes können auf älteren Versionen von SQL Server im Markt oder auf niedrigeren Kompatibilitätsgraden (120 oder vorherige) SQL Server 2016 freigegeben werden. Microsoft wertet jeweils aus und bestimmen Sie, ob das Ablaufverfolgungsflag 4199 oder eines anderen Ablaufverfolgungsflags verwenden. Da Änderungen nicht Hotfix auch aktiviert werden, erfolgt eine Verschiebung mit dem höheren Kompatibilitätsgrad besteht keine bestimmten Versprechen, dass keine Änderungen während einer Aktualisierung (mit oder ohne Ablaufverfolgungsflag 4199) auftritt. Kunden sollten immer Änderungen an der Kompatibilitätsgrad für Produktionsanwendungen sorgfältig testen, und wie der Abfrage-Speicher liegt ein Leistungsproblem von Planauswahl verwandte Technologien zur Risikominimierung, verwenden.

In der folgende Tabelle aufgeführt Ablaufverfolgungsflags, die für die Abfrage-Prozessor Hotfixes vor der Einführung von Ablaufverfolgungsflag 4199 verwendet wurden.
Microsoft Knowledge Base-ArtikelDas Ablaufverfolgungsflag
3185304101
9401284102
9199054103
9203464104
9203474105
9224384106
9238494107
9260244108
9267734109
9337244110
9340654111
9467934115
9508804116
9484454117
9426594119
9539484120
9424444121
9460204122
9482484124
9498544125
9590134126
9535694127
955694
957872
4128
9585474129
9566864131
9580064133
9607704135 *

SQLServer 2005

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Updates 6 für SQL Server 2005 Service Pack 3 veröffentlicht. Für weitere Informationen zu diesem kumulativen Update-Paket, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
974648 Kumulatives Updatepaket 6 für SQL Server 2005 Service Pack 3
Hinweis Da diese Builds kumulativ sind, jede neue Version enthält alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2005 enthalten waren beheben Version. Es wird empfohlen, dass Sie empfiehlt es sich, die neueste Version, die diesen Hotfix enthält. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
960598 Die SQL Server 2005 erstellt, die nach der Freigabe von SQL Server 2005 Service Pack 3
Microsoft SQL Server 2005-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen SQL Server 2005 Service Pack 3 Hotfix auf eine Installation von SQL Server 2005 Service Pack 3 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird in das nächste Servicepack für SQL Server enthalten.

SQL Server 2008

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 7 veröffentlicht. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket für SQL Server 2008 zu erhalten Klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
973601 Kumulatives Updatepaket 7 für SQL Server 2008
Hinweis Da diese Builds kumulativ sind, jede neue Version enthält alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2008 enthalten waren beheben Version. Es wird empfohlen, dass Sie empfiehlt es sich, die neueste Version, die diesen Hotfix enthält. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
956909 Die SQL Server 2008 Versionen, die nach der Veröffentlichung von SQL Server 2008, veröffentlicht wurden.

SQL Server 2008 SP1

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 7 für SQL Server 2008 Service Pack 1 veröffentlicht. Für weitere Informationen zu diesem kumulativen Update-Paket, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
979065 Kumulatives Updatepaket 7 für SQL Server 2008 Service Pack 1
Hinweis Da diese Builds kumulativ sind, jede neue Version enthält alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2008 enthalten waren beheben Version. Es wird empfohlen, dass Sie empfiehlt es sich, die neueste Version, die diesen Hotfix enthält. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
970365 Der SQL Server 2008 erstellt, die nach der Freigabe von SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen SQL Server 2008 Service Pack 1-Hotfix auf eine Installation von SQL Server 2008 Service Pack 1 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird in das nächste Servicepack für SQL Server enthalten.

SQL Server 2008 R2

In der freigegebenen Version von SQL Server 2008 R2 wurde das Ablaufverfolgungsflag 4135 versehentlich aus der Liste der Ablaufverfolgungsflags ausgelassen werden, die von - T4199 gesteuert werden können. Allerdings wurde dies im kumulativen Update 1 für SQL Server 2008 R2 behoben. In diesem Fall für diesen Build und für SQL Server 2005 und SQL Server 2008 unterstützten Editionen, - T4199 ist ausreichend, um diese und andere Ablaufverfolgungsflags, die in diesem Artikel aufgeführt sind.

SQL Server 2012 und späteren Versionen

Das Ablaufverfolgungsflag 4199 ist in den normalen Versionen von SQL Server 2012 und späteren Versionen enthalten.

Aktivieren Sie das Ablaufverfolgungsflag 4199

Sie können das Ablaufverfolgungsflag 4199 beim Start oder in einer Benutzersitzung aktivieren. Dieses Ablaufverfolgungsflag wirkt sich auf globaler Ebene oder auf Sitzungsebene. Um das Ablaufverfolgungsflag 4199 zu aktivieren, verwenden Sie die DBCC TRACEON Befehl oder als Startparameter verwendet – T 4199 .

Wenn DBCC TRACEON\TRACEOFF verwendet wird, das einen neuen zwischengespeicherten Plan für gespeicherte Prozeduren nicht regeneriert. Pläne möglicherweise im Cache, die ohne das Ablaufverfolgungsflag erstellt wurden.

Ausführliche Informationen über das Aktivieren oder Deaktivieren von Ablaufverfolgungsflags und Erläuterungen zu globalen und auf Sitzungsebene Ablaufverfolgungsflags finden Sie in den folgenden Themen in der Onlinedokumentation zu SQL Server:
Informationsquellen
Weitere Informationen zum Benennungsschema für SQL Server-Updates klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
822499 Neues Namensschema für Microsoft SQL Server-Softwareupdate-Paketen
Für weitere Informationen zur Softwareupdate-Terminologie, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 974006 – Letzte Überarbeitung: 07/10/2015 03:26:00 – Revision: 8.0

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 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Standard

  • kbsurveynew kbexpertiseadvanced kbqfe kbfix kbmt KB974006 KbMtde
Feedback