SET STATISTICS XML (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Bewirkt, dass Microsoft SQL Server Transact-SQL-Anweisungen ausführt und weitere Informationen zur Ausführung der Anweisungen in Form eines definierten XML-Dokuments generiert.

Topic link icon Transact-SQL-Syntaxkonventionen

  
SET STATISTICS XML { ON | OFF }  

Die Einstellung von SET STATISTICS XML wird zur Ausführungszeit und nicht zur Analysezeit festgelegt.

Wenn SET STATISTICS XML auf ON festgelegt ist, gibt SQL Server Ausführungsinformationen für jede Anweisung nach deren Ausführung zurück. Nachdem diese Option auf ON festgelegt wird, werden Informationen zu allen weiteren Transact-SQL-Anweisungen zurückgegeben, bis die Option auf OFF festgelegt wird. SET STATISTICS XML muss nicht die einzige Anweisung in einem Batch sein.

SET STATISTICS XML gibt die Ausgabe als nvarchar(max) für Anwendungen, wie z. B. die Sqlcmd , in dem die XML-Ausgabe wird anschließend verwendet von anderen Tools zur Anzeige und Verarbeitung der Informationen zum Abfrage-Hilfsprogramm.

SET STATISTICS XML gibt Informationen als eine Gruppe von XML-Dokumenten zurück. Jede Anweisung nach der SET STATISTICS XML ON-Anweisung ist in der Ausgabe als einzelnes Dokument enthalten. Jedes Dokument enthält den Text der Anweisung, gefolgt von den Informationen zu den Ausführungsschritten. Die Ausgabe zeigt Laufzeitinformationen an, wie z. B. Kosten, zugegriffene Indizes und Typen der ausgeführten Vorgänge, Joinreihenfolge, Anzahl von Ausführungen eines physischen Vorgangs sowie die Anzahl der von einem physischen Operator erstellten Zeilen usw.

Das Dokument mit dem XML-Schema für die XML-Ausgabe von SET STATISTICS XML wird beim Setup in ein lokales Verzeichnis auf dem Computer kopiert, auf dem Microsoft SQL Server installiert ist. Es wird auf dem Laufwerk mit den SQL Server-Installationsdateien gespeichert unter:

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

Das Showplanschema auch finden Sie unter diese Website.

SET STATISTICS PROFILE und SET STATISTICS XML sind Gegenstücke zueinander. SET STATISTICS PROFILE erstellt Textausgaben, während SET STATISTICS XML XML-Ausgaben erstellt. In künftigen SQL Server-Versionen werden neue Informationen zum Abfrageausführungsplan nur über die SET STATISTICS XML-Anweisung und nicht die SET STATISTICS PROFILE-Anweisung angezeigt.

System_CAPS_ICON_note.jpg Hinweis


Wenn tatsächlichen Ausführungsplan einschließen ausgewählt ist, im SQL Server Management Studio, gibt diese SET-Option wird kein XML-Showplan-Ausgabe erzeugt. Deaktivieren der tatsächlichen Ausführungsplan einschließen Schaltfläche vor der Verwendung dieser Option festgelegt.

Für die Verwendung von SET STATISTICS XML und die Anzeige der Ausgabe benötigen Benutzer die folgenden Berechtigungen:

  • Entsprechende Berechtigungen zum Ausführen der Transact-SQL-Anweisungen.

  • Die SHOWPLAN-Berechtigung für alle Datenbanken mit Objekten, auf die von den Transact-SQL-Anweisungen verwiesen wird.

Für Transact-SQL-Anweisungen, die keine STATISTICS XML-Resultsets erstellen, werden nur die Berechtigungen zum Ausführen der Transact-SQL-Anweisungen benötigt. Für Transact-SQL-Anweisungen, die STATISTICS XML-Resultsets erstellen, werden sowohl die Ausführungsberechtigung für Transact-SQL-Anweisungen als auch die SHOWPLAN-Berechtigung benötigt, da die Ausführung der Transact-SQL-Anweisung andernfalls abgebrochen und keine Showplaninformationen generiert werden.

In den beiden folgenden Anweisungen werden die SET STATISTICS XML-Einstellungen verwendet, um zu zeigen, wie SQL Server die Verwendung von Indizes in Abfragen analysiert und optimiert. In der ersten Abfrage wird der Vergleichsoperator Gleich (=) in der WHERE-Klausel auf eine indizierte Spalte angewendet. In der zweiten Abfrage wird der LIKE-Operator in der WHERE-Klausel verwendet. Deshalb muss SQL Server einen Scan des gruppierten Indexes durchführen, um die Daten zu finden, die die Bedingung in der WHERE-Klausel erfüllen. Die Werte in der EstimateRows und EstimatedTotalSubtreeCost Attribute sind bei der ersten indizierten Abfrage deutlich schnellere Verarbeitung und die Verwendung weniger Ressourcen als der nicht indizierten Abfrage hinweist.

USE AdventureWorks2012;  
GO  
SET STATISTICS XML ON;  
GO  
-- First query.  
SELECT BusinessEntityID   
FROM HumanResources.Employee  
WHERE NationalIDNumber = '509647174';  
GO  
-- Second query.  
SELECT BusinessEntityID, JobTitle   
FROM HumanResources.Employee  
WHERE JobTitle LIKE 'Production%';  
GO  
SET STATISTICS XML OFF;  
GO  

SET SHOWPLAN_XML (Transact-SQL)
Sqlcmd (Hilfsprogramm)

Community-Beiträge

HINZUFÜGEN
Anzeigen: