Showplan XML

Data aggiornamento: 5 dicembre 2005

In Microsoft SQL Server 2005 sono disponibili diversi metodi per generare l'output del piano di esecuzione Showplan in formato XML. L'output Showplan in formato XML può quindi essere spostato da un computer a un altro e quindi visualizzato su un qualsiasi computer, anche uno in cui SQL Server non è installato. È anche possibile elaborare l'output Showplan in formato XML a livello di programmazione utilizzando tecnologie XML, quali XPath, XQuery, XSLT, SAX, DOM e così via. L'elaborazione di Showplan XML è supportata in SQL Server 2005, che contiene un motore di valutazione delle query incorporato per XPath e XQuery.

Per generare l'output Showplan XML, è possibile utilizzare i metodi seguenti:

  • Fare clic sul pulsante Visualizza piano di esecuzione stimato o Includi piano di esecuzione effettivo della barra degli strumenti dell'editor di query in SQL Server Management Studio
  • Utilizzare le opzioni SHOWPLAN_XML e STATISTICS XML dell'istruzione SET di Showplan Transact-SQL.
  • Selezionare le classi di evento Showplan XML, Showplan XML for Query Compile e Showplan XML Statistics Profile di SQL Server Profiler per la traccia.
  • Utilizzare la funzione a gestione dinamica sys.dm_exec_query_plan.

Gli Showplan XML vengono restituiti nel tipo di dati nvarchar(max) per tutti questi metodi, ad eccezione del caso in cui viene utilizzato sys.dm_exec_query_plan. Quando si utilizza questa vista a gestione dinamica, gli Showplan XML vengono restituiti nel tipo di dati xml.

Lo schema XML per Showplan è disponibile in questo sito Web Microsoft.

È inoltre disponibile nella directory di installazione di SQL Server 2005 nel percorso seguente:

Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2003\03\showplan\showplanxml.xsd

[!NOTA] Se Query Optimizer interrompe in modo anomalo l'ottimizzazione delle query, l'attributo StatementOptmEarlyAbortReason viene restituito per l'elemento StmtSimple nell'output Showplan XML. I valori possibili visualizzabili per questo attributo sono TimeOut, GoodEnoughPlanFound e MemoryLimitExceeded. Se TimeOut o GoodEnoughPlanFound viene restituto per l'attributo, non è necessaria alcuna operazione. Lo Showplan restituito include i risultati corretti. Se MemoryLimitExceeded viene restituito per l'attributo StatementOptmEarlyAbortReason, lo Showplan XML generato sarà comunque corretto, ma potrebbe non essere quello ottimale. Tentare uno dei metodi seguenti per aumentare la memoria disponibile: 1) ridurre il carico sul server. 2) Aumentare la memoria disponibile per SQL Server. Per ulteriori informazioni, vedere Gestione della memoria per database di grandi dimensioni. 3) Selezionare l'opzione max server memory impostata con sp_configure e aumentare il valore nel caso sia troppo basso. Per ulteriori informazioni, vedere Opzioni per la memoria server.

Informazioni sullo schema XML dello Showplan

L'indicazione della versione dello schema XML dello Showplan include due parti, ad esempio m.n, dove m corrisponde al numero di versione principale e n al numero di versione secondario, ad esempio "Version 2.5". Questo numero di versione è visualizzato nell'elemento home directory dello schema XML dello Showplan. Ad esempio: version="0.5"

Compatibilità con le versioni precedenti di schemi XML dello Showplan

Quando il numero di versione principale viene incrementato, è possibile che il nuovo output dello Showplan XML non venga convalidato in base al vecchio schema. L'incremento del numero di versione secondario non produce tuttavia alcun effetto. Se ad esempio l'output dello Showplan XML è stato generato con la versione 0.5 dello schema, verrà convalidato in base alla versione 0.6 di uno schema XML dello Showplan.

Codifica degli Showplan XML

In SQL Server 2005 l'output dello Showplan XML viene inviato al client in formato Unicode utilizzando due byte per ciascun carattere. Le regole di codifica sono le seguenti:

  • If (char >= 0x0020 && char <= 0xD7FF) or (char == 0x0009) or 
    (char == 0x000A) or (char == 0x000D) or (char >= 0xE000 && char <= 0xFFFD)
    then send the char as 2 bytes, else send '?'
  • I caratteri di tabulazione, nuova riga e ritorno a capo vengono codificati nel modo seguente:
    • \t viene codificato in '&#x9;'
    • \n viene codificato in '&#xa;'
    • \r viene codificato in '&#xd;'

Salvataggio dell'output dello Showplan XML in un file

Dopo aver generato l'output dello Showplan utilizzando le istruzioni SET SHOWPLAN_XML o STATISTICS XML di Transact-SQL, è possibile salvare l'output in un file con estensione sqlplan, ad esempio MyXMLShowplan.sqlplan. I file con estensione sqlplan possono quindi essere aperti e visualizzati in SQL Server Management Studio. Per ulteriori informazioni, vedere Procedura: Salvataggio di un piano di esecuzione in formato XML.

Vedere anche

Riferimento

Visualizzazione dei piani di esecuzione grafici (SQL Server Management Studio)

Concetti

Visualizzazione di piani di esecuzione tramite le opzioni SET SHOWPLAN (Transact-SQL)
Visualizzazione dei piani di esecuzione utilizzando le classi di eventi di SQL Server Profiler
Aspetti di protezione relativi a Showplan

Altre risorse

sys.dm_exec_query_plan

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

5 dicembre 2005

Contenuto modificato:
  • Modifica del percorso di installazione dello schema dello Showplan XML.