DBCC PDW_SHOWEXECUTIONPLAN (Transact-SQL)

Si applica a:Azure Synapse Analytics

Visualizza il piano di esecuzione di SQL Server per una query in esecuzione su uno specifico nodo di calcolo o nodo Control di Azure Synapse Analytics. Consente di risolvere i problemi relativi alle prestazioni di query quando le query vengono eseguite sui nodi di calcolo e di controllo.

Dopo il rilevamento di problemi di prestazioni delle query per le query SQL Server SMP in esecuzione nei nodi di calcolo, esistono diversi modi per migliorare le prestazioni. Le possibili soluzioni per migliorare le prestazioni delle query sui nodi di calcolo includono la creazione di statistiche multicolonna, la creazione di indici non cluster o l'uso di hint per la query.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

Sintassi per Azure Synapse Analytics:

DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id , spid )
[;]

Nota

Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Argomenti

distribution_id

Identificatore per la distribuzione in cui è in esecuzione il piano di query. Si tratta di un numero intero e non può essere NULL. Il valore deve essere compreso tra 1 e 60. Usato quando la destinazione è Azure Synapse Analytics.

spid

Identificatore per la sessione di SQL Server in cui è in esecuzione il piano di query. Si tratta di un numero intero e non può essere NULL.

Autorizzazioni

È richiesta l'autorizzazione CONTROL per Azure Synapse Analytics.

Richiede VIEW il permesso STATO SERVER sull'Appliance.

Esempi: Azure Synapse Analytics

R. Sintassi di base di DBCC PDW_SHOWEXECUTIONPLAN

La query di esempio seguente restituirà il valore sql_spid per ogni distribuzione in esecuzione attiva.

SELECT [sql_spid]
    , [pdw_node_id]
    , [request_id]
    , [dms_step_index]
    , [type]
    , [start_time]
    , [end_time]
    , [status]
    , [distribution_id]
FROM sys.dm_pdw_dms_workers
WHERE [status] <> 'StepComplete'
    AND [status] <> 'StepError'
ORDER BY request_id
    , [dms_step_index];

Se si vuole sapere quale distribution_id 1 era in esecuzione nella sessione 375, eseguire il comando seguente:

DBCC PDW_SHOWEXECUTIONPLAN (1, 375);