Freigeben über


XML-Showplans

Aktualisiert: 05. Dezember 2005

In Microsoft SQL Server 2005 kann mit verschiedenen Methoden eine Showplan-Ausführungsplanausgabe im XML-Format generiert werden. Showplanausgaben im XML-Format können zwischen Computern verschoben werden und somit auf jedem Computer gerendert werden, auch auf solchen ohne SQL Server. Eine Showplanausgabe im XML-Format kann auch programmgesteuert mit XML-Technologien, wie XPath, XQuery, XSLT, SAX, DOM usw., verarbeitet werden. Die XML-Showplanverarbeitung wird in SQL Server 2005 unterstützt. Es ist ein integriertes Abfrageauswertungsmodul für XPAth und XQuery enthalten.

Sie können XML-Showplanausgaben mit folgenden Methoden generieren:

  • Durch Auswählen von Geschätzten Ausführungsplan anzeigen oder Tatsächlichen Ausführungsplan einschließen auf der Symbolleiste des Abfrage-Editors in SQL Server Management Studio
  • Mithilfe der Optionen SHOWPLAN_XML und STATISTICS XML der Transact-SQL-SET-Anweisung für Showplan
  • Durch Auswählen der SQL Server Profiler-Ereignisklassen Showplan XML, Showplan XML for Query Compile und Showplan XML Statistics Profile für die Nachverfolgung
  • Mithilfe der dynamischen Verwaltungsfunktion sys.dm_exec_query_plan

XML-Showplans werden bei allen diesen Methoden mit dem nvarchar(max)-Datentyp zurückgegeben, außer wenn Sie sys.dm_exec_query_plan verwenden. Wenn Sie diese dynamische Verwaltungssicht verwenden, werden XML-Showplans mit dem xml-Datentyp zurückgegeben.

Das XML-Schema für Showplan ist auf dieser Microsoft-Website verfügbar.

Zudem steht es in dem Verzeichnis, in dem SQL Server 2005 installiert ist, an folgender Position zur Verfügung:

Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd

ms189298.note(de-de,SQL.90).gifHinweis:
Wenn der Abfrageoptimierer die Abfrageoptimierung vorzeitig beendet, wird das StatementOptmEarlyAbortReason-Attribut für das StmtSimple-Element in der XML-Showplanausgabe zurückgegeben. Die möglichen Werte, die für dieses Attribut angezeigt werden können, sind TimeOut, GoodEnoughPlanFound und MemoryLimitExceeded. Wenn TimeOut oder GoodEnoughPlanFound für dieses Attribut zurückgegeben wird, sind keine Maßnahmen erforderlich. Der zurückgegebene Showplan enthält die richtigen Ergebnisse. Wenn MemoryLimitExceeded für das StatementOptmEarlyAbortReason-Attribut zurückgegeben wird, ist der erstellte XML-Showplan zwar weiterhin richtig aber möglicherweise nicht optimal. Versuchen Sie mit einer der möglichen Methoden, den verfügbaren Arbeitsspeicher zu erhöhen: 1) Verringern Sie die Last auf dem Server. 2) Vergrößern Sie den für SQL Server verfügbaren Arbeitsspeicher. Weitere Informationen finden Sie unter Verwalten von Arbeitsspeicher für große Datenbanken. 3) Überprüfen Sie die max server memory-Option, die mit sp_configure festgelegt wird, und erhöhen Sie den Wert, falls er zu niedrig ist. Weitere Informationen finden Sie unter Serverarbeitsspeicher-Optionen.

Informationen zum Showplan-XML-Schema

Die Versionsbezeichnung des Showplan-XML-Schemas besteht aus zwei Teilen, beispielsweise m.n. Dabei ist m die Hauptversionsnummer und n die Nebenversionsnummer. Beispiel: "Version 2.5". Diese Versionsnummer wird im Stammelement des Dokuments mit dem Showplan-XML-Schema angezeigt. Beispiel: version="0.5"

Abwärtskompatibilität von Showplan-XML-Schemas

Wenn die Hauptversionsnummer erhöht wird, erzeugt die Überprüfung neuer XML-Showplanausgaben in Bezug auf das alte Schema möglicherweise einen Fehler. Eine Erhöhung der Nebenversionsnummer hat jedoch keine Auswirkungen. Beispielsweise werden XML-Showplanausgaben, die Sie mit der Schemaversion 0.5 generiert haben, in Bezug auf die Showplan-XML-Schemaversion 0.6 erfolgreich überprüft.

Codierung von XML-Showplans

SQL Server 2005 sendet die XML-Showplanausgabe im Unicode-Format an den Client, wobei zwei Byte für jedes gesendete Zeichen verwendet werden. Die Codierungsregeln lauten wie folgt:

  • IF (char >= 0x0020 && char <= 0xD7FF) oder (char == 0x0009) oder 
    (char == 0x000A) oder (char == 0x000D) oder (char >= 0xE000 && char <= 0xFFFD)
    THEN sende char als 2 Byte, ELSE sende '?'
  • Tabstopp-, Neue-Zeile- und Zeilenvorschubzeichen werden wie folgt codiert:
    • \t wird als '&#x9;' codiert
    • \n wird als '&#xa;' codiert
    • \r wird als '&#xd;' codiert

Speichern von XML-Showplanausgaben in einer Datei

Nachdem eine Showplanausgabe mit den Transact-SQL-SET-Anweisungen SHOWPLAN_XML oder STATISTICS XML generiert wurde, können Sie die Ausgabe in einer Datei mit der Erweiterung SQLPLAN speichern. Beispiel: MyXMLShowplan.sqlplan. Diese SQLPLAN-Dateien können in SQL Server Management Studio geöffnet und angezeigt werden. Weitere Informationen finden Sie unter Vorgehensweise: Speichern eines Ausführungsplans im XML-Format.

Siehe auch

Verweis

Anzeigen von grafischen Ausführungsplänen (SQL Server Management Studio)

Konzepte

Anzeigen von Ausführungsplänen mithilfe der Showplan-SET-Optionen (Transact-SQL)
Anzeigen von Ausführungsplänen mithilfe von SQL Server Profiler-Ereignisklassen
Showplansicherheit

Andere Ressourcen

sys.dm_exec_query_plan

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Geänderter Inhalt:
  • Geändertes Installationsverzeichnis für das XML-Showplanschema.