SET STATISTICS XML (Transact-SQL)SET STATISTICS XML (Transact-SQL)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)sìDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Fa sì che Microsoft SQL ServerSQL Server esegua istruzioni Transact-SQLTransact-SQL e generi informazioni dettagliate sull'esecuzione delle istruzioni in un documento XML ben definito.Causes Microsoft SQL ServerSQL Server to execute Transact-SQLTransact-SQL statements and generate detailed information about how the statements were executed in the form of a well-defined XML document.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax


SET STATISTICS XML { ON | OFF }  

OsservazioniRemarks

L'opzione SET STATISTICS XML viene impostata in fase di esecuzione, non in fase di analisi.The setting of SET STATISTICS XML is set at execute or run time and not at parse time.

Se SET STATISTICS XML è impostata su ON, SQL ServerSQL Server restituisce informazioni sull'esecuzione di ogni istruzione.When SET STATISTICS XML is ON, SQL ServerSQL Server returns execution information for each statement after executing it. Quando l'opzione viene impostata su ON, vengono restituite informazioni su tutte le istruzioni Transact-SQLTransact-SQL successive fino a quando l'opzione non viene impostata su OFF.After this option is set ON, information about all subsequent Transact-SQLTransact-SQL statements is returned until the option is set to OFF. Non è necessario che SET STATISTICS XML sia l'unica istruzione in un batch.Note that SET STATISTICS XML need not be the only statement in a batch.

SET STATISTICS XML restituisce l'output come nvarchar (max) per le applicazioni, ad esempio il sqlcmd utilità, in cui l'output XML viene successivamente usato da altri strumenti per visualizzare ed elaborare il piano di query informazioni.SET STATISTICS XML returns output as nvarchar(max) for applications, such as the sqlcmd utility, where the XML output is subsequently used by other tools to display and process the query plan information.

SET STATISTICS XML restituisce le informazioni sotto forma di documenti XML.SET STATISTICS XML returns information as a set of XML documents. Ogni istruzione successiva all'istruzione SET STATISTICS XML ON è rappresentata nell'output da un documento specifico.Each statement after the SET STATISTICS XML ON statement is reflected in the output by a single document. Ogni documento contiene il testo dell'istruzione, seguito da informazioni dettagliate sui passaggi dell'esecuzione.Each document contains the text of the statement, followed by the details of the execution steps. L'output include informazioni ottenute durante l'esecuzione, quali i costi, gli indici utilizzati e i tipi di operazioni eseguite, l'ordine di join, il numero di esecuzioni di un'operazione fisica, il numero di righe prodotto da ogni operatore fisico e altro ancora.The output shows run-time information such as the costs, accessed indexes, and types of operations performed, join order, the number of times a physical operation is performed, the number of rows each physical operator produced, and more.

Il documento contenente l'XML Schema per l'output XML di SET STATISTICS XML viene copiato, durante l'installazione, in una directory locale del computer in cui è installato Microsoft SQL ServerSQL Server.The document containing the XML schema for the XML output by SET STATISTICS XML is copied during setup to a local directory on the computer on which Microsoft SQL ServerSQL Server is installed. Si trova nell'unità contenente i file di installazione di SQL ServerSQL Server, nel percorso seguente:It can be found on the drive containing the SQL ServerSQL Server installation files, at:

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

Lo Showplan Schema è inoltre reperibile in questo sito Web.The Showplan Schema can also be found at this Web site.

SET STATISTICS PROFILE e SET STATISTICS XML sono complementari.SET STATISTICS PROFILE and SET STATISTICS XML are counterparts of each other. La prima crea output di testo, la seconda output XML.The former produces textual output; the latter produces XML output. Nelle prossime versioni di SQL ServerSQL Server, le informazioni sui piani di esecuzione delle query verranno visualizzate solo mediante l'istruzione SET STATISTICS XML e non mediante l'istruzione SET STATISTICS PROFILE.In future versions of SQL ServerSQL Server, new query execution plan information will only be displayed through the SET STATISTICS XML statement, not the SET STATISTICS PROFILE statement.

Nota

Se Includi piano di esecuzione effettivo è selezionata SQL Server Management StudioSQL Server Management Studio, questa opzione SET non produce un output di Showplan XML.If Include Actual Execution Plan is selected in SQL Server Management StudioSQL Server Management Studio, this SET option does not produce XML Showplan output. Cancella il Includi piano di esecuzione effettivo pulsante prima di utilizzare l'opzione SET.Clear the Include Actual Execution Plan button before using this SET option.

PermissionsPermissions

Per utilizzare SET STATISTICS XML e visualizzare l'output, è necessario che gli utenti dispongano delle autorizzazioni seguenti:To use SET STATISTICS XML and view the output, users must have the following permissions:

  • Autorizzazioni appropriate per l'esecuzione delle istruzioni Transact-SQLTransact-SQL.Appropriate permissions to execute the Transact-SQLTransact-SQL statements.

  • Autorizzazione SHOWPLAN su tutti i database contenenti oggetti a cui viene fatto riferimento nelle istruzioni Transact-SQLTransact-SQL.SHOWPLAN permission on all databases containing objects that are referenced by the Transact-SQLTransact-SQL statements.

    Per le istruzioni Transact-SQLTransact-SQL che non producono set di risultati STATISTICS XML, sono necessarie solo le autorizzazioni appropriate per l'esecuzione delle istruzioni Transact-SQLTransact-SQL.For Transact-SQLTransact-SQL statements that do not produce STATISTICS XML result sets, only the appropriate permissions to execute the Transact-SQLTransact-SQL statements are required. Per le istruzioni Transact-SQLTransact-SQL che producono set di risultati STATISTICS XML, devono venire superati i controlli sia dell'autorizzazione di esecuzione delle istruzioni Transact-SQLTransact-SQL sia dell'autorizzazione SHOWPLAN. Negli altri casi l'esecuzione delle istruzioni Transact-SQLTransact-SQL verrà annullata e non verranno generate informazioni Showplan.For Transact-SQLTransact-SQL statements that do produce STATISTICS XML result sets, checks for both the Transact-SQLTransact-SQL statement execution permission and the SHOWPLAN permission must succeed, or the Transact-SQLTransact-SQL statement execution is aborted and no Showplan information is generated.

EsempiExamples

Nelle due istruzioni seguenti vengono utilizzate le impostazioni dell'istruzione SET STATISTICS XML per illustrare l'analisi e l'ottimizzazione dell'utilizzo degli indici nelle query da parte di SQL ServerSQL Server.The two statements that follow use the SET STATISTICS XML settings to show the way SQL ServerSQL Server analyzes and optimizes the use of indexes in queries. La prima query utilizza l'operatore di confronto uguale a (=) nella clausola WHERE in una colonna indicizzata.The first query uses the Equals (=) comparison operator in the WHERE clause on an indexed column. La seconda query utilizza l'operatore LIKE nella clausola WHERE.The second query uses the LIKE operator in the WHERE clause. In tal modo viene imposta l'esecuzione da parte di SQL ServerSQL Server di un'analisi di indice cluster per individuare i dati che soddisfano la condizione della clausola WHERE.This forces SQL ServerSQL Server to use a clustered index scan to find the data that satisfies the WHERE clause condition. I valori nel EstimateRows e EstimatedTotalSubtreeCost gli attributi sono inferiori per la prima query indicizzata che indica che è stata elaborata molto più rapidamente e utilizzate meno risorse rispetto al query non indicizzata.The values in the EstimateRows and the EstimatedTotalSubtreeCost attributes are smaller for the first indexed query indicating that it was processed much faster and used fewer resources than the nonindexed query.

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  

Vedere ancheSee Also

SET SHOWPLAN_XML (Transact-SQL) SET SHOWPLAN_XML (Transact-SQL)
Utilità sqlcmdsqlcmd Utility