DBCC PDW_SHOWEXECUTIONPLAN(Transact-SQL)

適用対象:Azure Synapse Analytics

特定のAzure Synapse Analytics ComputeノードまたはControlノード上で実行中のクエリのSQL Server実行計画を表示します。 クエリの計算ノードと制御ノードでの実行中に、クエリ パフォーマンスの問題のトラブルシューティングを行うにはこれを使用します。

計算ノードで実行されている SMP SQL Server クエリについて、クエリのパフォーマンスに問題があることがわかった場合、パフォーマンスを向上する方法がいくつかあります。 計算ノードでのクエリのパフォーマンスを向上させる方法として、複数列統計の作成、非クラスター化インデックスの作成、クエリ ヒントの使用が考えられます。

Transact-SQL 構文表記規則

構文

Azure Synapse Analytics の構文:

DBCC PDW_SHOWEXECUTIONPLAN ( distribution_id , spid )
[;]

Note

この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

引数

distribution_id

クエリ プランを実行しているディストリビューションの識別子です。 これは整数であり、NULL にすることはできません。 値は 1 から 60 までの範囲でなければなりません Azure Synapse Analytics をターゲットとする場合に使用されます。

spid

クエリ プランを実行している SQL Server セッションの識別子です。 これは整数であり、NULL にすることはできません。

アクセス許可

Azure Synapse Analytics に対する CONTROL アクセス許可が必要です。

アプライアンス VIEW サーバー状態 権限が必要です。

例: Azure Synapse Analytics

A. DBCC PDW_SHOWEXECUTIONPLAN の基本的な構文

次のサンプル クエリは、アクティブに実行されているディストリビューションごとに sql_spid を返します。

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

セッション 375 で distribution_id 1 が実行していたものについて確認するには、次のコマンドを実行します。

DBCC PDW_SHOWEXECUTIONPLAN (1, 375);