特定のAzure Synapse Analytics ComputeノードまたはControlノード上で実行中のクエリのSQL Server実行計画を表示します。 クエリの計算ノードと制御ノードでの実行中に、クエリ パフォーマンスの問題のトラブルシューティングを行うにはこれを使用します。
計算ノードで実行されている SMP SQL Server クエリについて、クエリのパフォーマンスに問題があることがわかった場合、パフォーマンスを向上する方法がいくつかあります。 計算ノードでのクエリのパフォーマンスを向上させる方法として、複数列統計の作成、非クラスター化インデックスの作成、クエリ ヒントの使用が考えられます。
構文
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);