Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
Fa sì che Microsoft SQL Server esegua istruzioni Transact-SQL e generi informazioni dettagliate sull'esecuzione delle istruzioni in un documento XML ben definito.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
SET STATISTICS XML { ON | OFF }
Osservazioni:
L'impostazione di SETSET STATISTICS XML è impostata a tempo di esecuzione o di esecuzione e non a tempo di analisi.
Quando SETSET STATISTICS XML è ON, SQL Server restituisce le informazioni di esecuzione per ogni istruzione dopo averla eseguita. Quando l'opzione viene impostata su ON, vengono restituite informazioni su tutte le istruzioni Transact-SQL successive fino a quando l'opzione non viene impostata su OFF. Nota che SETSET STATISTICS XML non deve essere l'unica affermazione in un lotto.
SET SET STATISTICS XML restituisce l'output come nvarchar(max) per applicazioni, come l'utilità SQLCMD , dove l'output XML viene successivamente utilizzato da altri strumenti per visualizzare ed elaborare le informazioni del piano di interrogazione.
SET SET STATISTICS XML restituisce le informazioni come un insieme di documenti XML. Ogni istruzione dopo quella SETSET STATISTICS XML ON è riflessa nell'output da un singolo documento. Ogni documento contiene il testo dell'istruzione, seguito da informazioni dettagliate sui passaggi dell'esecuzione. 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.
Il documento contenente lo schema XML per l'output XML viene SETSET STATISTICS XML copiato durante l'installazione in una directory locale sul computer su cui è installato Microsoft SQL Server. Si trova nell'unità contenente i file di installazione di SQL Server, nel percorso seguente:
\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd
Lo schema Showplan è inoltre reperibile in questo sito Web.
SET SET STATISTICS PROFILE e SETSET STATISTICS XML sono controparti l'una dell'altra. La prima crea output di testo, la seconda output XML. Nelle versioni future di SQL Server, le nuove informazioni sul piano di esecuzione delle query saranno visualizzate solo tramite l'istruzioneSETSET STATISTICS XML, non l'istruzioneSETSET STATISTICS PROFILE.
Nota
Se in SQL Server Management Studio viene selezionato Include Actual Execution Plan, questa SET opzione non produce output XML Showplan. Cancella il pulsante Include Actual Execution Plan prima di utilizzare questa SET opzione.
Autorizzazioni
Per utilizzare SETSET STATISTICS XML e visualizzare l'output, gli utenti devono avere i seguenti permessi:
Autorizzazioni appropriate per l'esecuzione delle istruzioni Transact-SQL.
Autorizzazione SHOWPLAN su tutti i database contenenti oggetti a cui viene fatto riferimento nelle istruzioni Transact-SQL.
Per Transact-SQL istruzioni che non producono STATISTICS XML set di risultati, sono necessarie solo le autorizzazioni appropriate per eseguire le istruzioni Transact-SQL. Per Transact-SQL istruzioni che producono STATISTICS XML set di risultati, i controlli sia per il permesso di esecuzione dell'istruzione Transact-SQL sia per il permesso SHOWPLAN devono avere successo, altrimenti l'esecuzione dell'istruzione Transact-SQL viene abortita e non viene generata alcuna informazione Showplan.
Esempi
Le due affermazioni che seguono utilizzano le SETSET STATISTICS XML impostazioni per mostrare il modo in cui SQL Server analizza e ottimizza l'uso degli indici nelle query. La prima query utilizza l'operatore di confronto uguale a (=) nella clausola WHERE in una colonna indicizzata. La seconda query utilizza l'operatore LIKE nella clausola WHERE. In tal modo viene imposta l'esecuzione da parte di SQL Server di un'analisi di indice cluster per individuare i dati che soddisfano la condizione della clausola WHERE. I valori negli attributi EstimateRows e EstimatedTotalSubtreeCost della prima query indicizzata sono inferiori, a indicare che la query è stata elaborata molto più rapidamente e con un numero di risorse inferiore rispetto alla query non indicizzata.
USE AdventureWorks2022;
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