sys.dm_exec_query_parallel_workers (Transact-SQL)

適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Database Azure SQL Managed Instance

ノードごとの worker 可用性情報を返します。

名前 データの種類 説明
node_id int NUMA ノード ID。
scheduler_count int このノードのスケジューラの数。
max_worker_count int 並列クエリのワーカーの最大数。
reserved_worker_count int 並列クエリによって予約されたワーカーの数と、すべての要求で使用されるメイン ワーカーの数。
free_worker_count int タスクで使用できるワーカーの数。

注: すべての受信要求が少なくとも 1 つのワーカーを消費します。これは、無料のワーカー数から減算されます。 負荷の高いサーバーでは、空きワーカー数が負の数になる可能性があります。
used_worker_count int 並列クエリで使用されるワーカーの数。

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database BasicS0、および S1 サービス目標、および弾性プール内のデータベースの場合サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または##MS_ServerStateReader## サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

A. 現在の並列ワーカーの可用性の表示

SELECT * FROM sys.dm_exec_query_parallel_workers;  

参照

動的管理ビューと動的管理関数 (Transact-SQL)
実行関連の動的管理ビューと関数 (Transact-SQL)
sys.dm_os_workers (Transact-SQL)