DBCC PDW_SHOWEXECUTIONPLAN (Transact-SQL)

S’applique à :Azure Synapse Analytics

Affiche le plan d’exécution SQL Server pour une requête fonctionnant sur un nœud de calcul ou un nœud Control spécifique d’Azure Synapse Analytics. Cela permet de résoudre les problèmes de performances des requêtes pendant leur exécution sur les nœuds de calcul et le nœud de contrôle.

Une fois les problèmes de performances des requêtes compris pour les requêtes SQL Server SMP exécutées sur les nœuds de calcul, il existe plusieurs façons d’améliorer les performances. Les méthodes possibles pour améliorer les performances des requêtes sur les nœuds de calcul incluent la création de statistiques multicolonnes, la création d’index non-cluster et l’utilisation d’indicateurs de requête.

Conventions de la syntaxe Transact-SQL

Syntaxe

Syntaxe pour Azure Synapse Analytics :

DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id , spid )
[;]

Notes

Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.

Arguments

distribution_id

Identificateur de la distribution qui exécute le plan de requête. C’est un entier et il ne peut pas être NULL. La valeur doit être comprise entre 1 et 60. Utilisé quand la cible est Azure Synapse Analytics.

spid

Identificateur de la session SQL Server qui exécute le plan de requête. C’est un entier et il ne peut pas être NULL.

Autorisations

Nécessite l’autorisation CONTROL sur Azure Synapse Analytics.

Nécessite VIEW une autorisation ÉTAT SERVEUR sur l’Appliance.

Exemples : Azure Synapse Analytics

R. Syntaxe de base de DBCC PDW_SHOWEXECUTIONPLAN

L’exemple de requête suivant retourne l’exemple sql_spid de requête pour chaque distribution en cours d’exécution.

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];

Si vous avez la curiosité de savoir ce que distribution_id 1 exécutait dans la session 375, vous exécuteriez la commande suivante :

DBCC PDW_SHOWEXECUTIONPLAN (1, 375);