次の方法で共有


sys.dm_exec_external_work (Transact-SQL)

適用対象: SQL Server 2016 (13.x) 以降のバージョン

各コンピューティング ノードのワーカーごとのワークロードに関する情報を返します。

外部データ ソース (Hadoop や MongoDB など) と通信するためにスピンアップされた作業を識別するためのクエリ sys.dm_exec_external_work

列名 データ型 説明 Range
execution_id nvarchar(32) 関連付けられている PolyBase クエリの一意識別子。 sys.dm_exec_requests (Transact-SQL)request_IDを参照してください。
step_index int このワーカーが実行している要求。 sys.dm_exec_requests (Transact-SQL) step_indexを参照してください。
dms_step_index int このワーカーが実行している DMS プランのステップ。 sys.dm_exec_dms_workers (Transact-SQL) を参照してください。
compute_node_id int ワーカーが実行されているノード。 sys.dm_exec_compute_nodes (Transact-SQL) を参照してください。
type nvarchar(60) 外部作業の種類。 'File Split' (Hadoop と Azure Storage の場合)

'ODBC データ分割' (他の外部データ ソースの場合)
work_id int 実際の分割の ID。 0 より大きいか等しい。
input_name nvarchar(4000) 読み取る入力の名前 Hadoop または Azure Storage を使用する場合のファイル名 (パス付き)。 その他の外部データ ソースの場合、外部データ ソースの場所と外部テーブルの場所を連結したものです。 scheme://DataSourceHostname[:port]/[DatabaseName.][SchemaName.]TableName
read_location bigint 読み取り位置のオフセット。 0 を、ファイル内のバイト数から 1 を引いた値に設定します。

NULL Hadoop 以外または Azure 以外のストレージの場合。
read_command nvarchar(4000) 外部データ ソースに送信されるクエリ。 SQL Server 2019 (15.x) で導入されました。 クエリを表すテキスト。 Hadoop と Azure Storage の場合、 NULLが返されます。
bytes_processed bigint このワーカーによってデータを処理するために割り当てられた合計バイト数。 この値は、クエリによって返される合計データを必ずしも表しているわけではありません 0 より大きいか等しい。
length bigint Hadoop の分割または HDFS ブロックの長さ ユーザー定義可能。 既定値は 64M です
status nvarchar(32) ワーカーの状態 保留中、処理中、完了、失敗、中止
start_time datetime 作業の開始
end_time datetime 作業の終了
total_elapsed_time int 合計時間 (ミリ秒)
compute_pool_id int ワーカーが実行されているプールの一意識別子。 SQL Server ビッグ データ クラスターにのみ適用されます。 sys.dm_exec_compute_pools (Transact-SQL) を参照してください。 Windows および Linux 上の SQL Server の 0 を返します。

解説

SQL Server 2019 (15.x) 以降では、 sys.dm_exec_external_work を使用して、PolyBase プッシュダウン計算で外部データ ソースに渡されたリモート クエリを表示できます。 詳細については、「外部プッシュダウンが発生した場合の確認方法」を参照してください。

関連項目

動的管理ビューを使用した PolyBase に関するトラブルシューティング
動的管理ビューと動的管理関数 (Transact-SQL)
データベース関連の動的管理ビュー (Transact-SQL)