DBCC PDW_SHOWEXECUTIONPLAN (Transact-SQL)DBCC PDW_SHOWEXECUTIONPLAN (Transact-SQL)

S’applique à :Applies to: ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseS’applique à :Applies to: ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Affiche le plan d’exécution SQL ServerSQL Server pour une requête exécutée sur un nœud de contrôle ou un nœud de calcul Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) ou Parallel Data WarehouseParallel Data Warehouse spécifique.Displays the SQL ServerSQL Server execution plan for a query running on a specific Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) or Parallel Data WarehouseParallel Data Warehouse Compute node or Control node. 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.Use this to troubleshoot query performance problems while queries are running on the Compute nodes and Control node.

Une fois les problèmes de performances des requêtes compris pour les requêtes SQL ServerSQL Server SMP exécutées sur les nœuds de calcul, il existe plusieurs façons d’améliorer les performances.Once query performance problems are understood for SMP SQL ServerSQL Server queries running on the Compute nodes, there are several ways to improve performance. 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.Possible ways to improve query performance on the Compute nodes include creating multi-column statistics, creating nonclustered indexes, or using query hints.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL (Transact-SQL)Topic link icon Transact-SQL Syntax Conventions (Transact-SQL)

SyntaxeSyntax

Syntaxe pour Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) :Syntax for Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse):

DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id, spid )  
[ ; ]  

Syntaxe pour Parallel Data WarehouseParallel Data Warehouse :Syntax for Parallel Data WarehouseParallel Data Warehouse:

DBCC PDW_SHOWEXECUTIONPLAN ( pdw_node_id, spid )  
[ ; ]  

Notes

Cette syntaxe n’est pas prise en charge par SQL à la demande (préversion) dans Azure Synapse Analytics.This syntax is not supported by SQL on-demand (preview) in Azure Synapse Analytics.

ArgumentsArguments

distribution_iddistribution_id
Identificateur de la distribution qui exécute le plan de requête.Identifier for the distribution that is running the query plan. Il s’agit d’un entier différent de Null.This is an integer and cannot be NULL. La valeur doit être comprise entre 1 et 60.Value must be between 1 and 60. Utilisé quand la cible est Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).Used when targeting Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).

pdw_node_idpdw_node_id
Identificateur du nœud qui exécute le plan de requête.Identifier for the node that is running the query plan. Il s’agit d’un entier différent de Null.This is an integer and cannot be NULL. Utilisé quand la cible est une appliance.Used when targeting an Appliance.

spidspid
Identificateur de la session SQL ServerSQL Server qui exécute le plan de requête.Identifier for the SQL ServerSQL Server session that is running the query plan. Il s’agit d’un entier différent de Null.This is an integer and cannot be NULL.

AutorisationsPermissions

Nécessite l’autorisation CONTROL sur Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).Requires CONTROL permission on Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse).

Nécessite l’autorisation VIEW-SERVER-STATE sur l’appliance.Requires VIEW-SERVER-STATE permission on the Appliance.

Exemples : Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse)Examples: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse)

R.A. Syntaxe de base DBCC PDW_SHOWEXECUTIONPLANDBCC PDW_SHOWEXECUTIONPLAN Basic Syntax

Lors de l’exécution sur une instance de Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse), modifiez la requête ci-dessus pour sélectionner aussi l’argument distribution_id.When running on a Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL Data Warehouse) instance, modify the above query to also select the distribution_id.

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

Vous retournez ainsi l’identificateur spid pour chaque distribution activement exécutée.This will return the spid for each actively running distribution. Si vous aviez la curiosité de savoir ce que la distribution 1 exécutait dans la session 375, vous exécuteriez la commande suivante.If you were curious as to what distribution 1 was running in session 375, you would run the following command.

DBCC PDW_SHOWEXECUTIONPLAN ( 1, 375 );  

Exemples : Parallel Data WarehouseParallel Data WarehouseExamples: Parallel Data WarehouseParallel Data Warehouse

B.B. Syntaxe de base DBCC PDW_SHOWEXECUTIONPLANDBCC PDW_SHOWEXECUTIONPLAN Basic Syntax

La requête dont l’exécution est trop longue exécute une opération de plan de requête DMS ou SQL.The query that is running too long is either running a DMS query plan operation or a SQL query plan operation.

Si la requête exécute une opération de plan de requête DMS, vous pouvez utiliser la requête suivante pour récupérer une liste des ID de nœud et ID de session pour les étapes qui ne sont pas terminées.If the query is running a DMS query plan operation, you can use the following query to retrieve a list of the node IDs and session IDs for steps that are not complete.

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

D’après les résultats de la requête précédente, il est recommandé d’utiliser sql_spid et pdw_node_id comme paramètres pour DBCC PDW_SHOWEXECUTIONPLAN.Based on the results of the preceding query, use the sql_spid and pdw_node_id as parameters to DBCC PDW_SHOWEXECUTIONPLAN. Par exemple, la commande suivante indique le plan d’exécution pour pdw_node_id 201001 et sql_spid 375.For example, the following command shows the execution plan for pdw_node_id 201001 and sql_spid 375.

DBCC PDW_SHOWEXECUTIONPLAN ( 201001, 375 );  

Voir aussiSee also