sys.dm_exec_background_job_queue (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
非同期 (バックグラウンド) 実行用にスケジュールされている各クエリ プロセッサ ジョブの行を返します。
Note
これを Azure Synapse Analytics または Analytics Platform System (PDW) から呼び出すには、 sys.dm_pdw_nodes_exec_background_job_queue
という名前を使用します。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。
列名 | データ型 | 説明 |
---|---|---|
time_queued | datetime | ジョブがキューに追加された時刻。 |
job_id | int | ジョブ識別子。 |
database_id | int | ジョブを実行するデータベース。 |
object_id1 | int | 値はジョブの種類によって異なります。 詳細については、「解説」を参照してください。 |
object_id2 | int | 値はジョブの種類によって異なります。 詳細については、「解説」を参照してください。 |
object_id3 | int | 値はジョブの種類によって異なります。 詳細については、「解説」を参照してください。 |
object_id4 | int | 値はジョブの種類によって異なります。 詳細については、「解説」を参照してください。 |
error_code | int | エラーが原因でジョブが再挿入された場合のエラー コード。 ジョブが中断したか、取得されていないか、完了している場合は NULL です。 |
request_type | smallint | ジョブ要求の種類。 |
retry_count | smallint | リソースの不足またはその他の理由により、ジョブがキューから選択され、再挿入された回数。 |
in_progress | smallint | ジョブが実行を開始したかどうかを示します。 1 = 開始 0 = 待機中 |
session_id | smallint | セッション識別子。 |
pdw_node_id | int | 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW) このディストリビューションがオンになっているノードの識別子。 |
アクセス許可
SQL Server と SQL Managed Instance では、VIEW SERVER STATE
アクセス許可が必要です。
SQL Database Basic、S0、および S1 サービス目標、および弾性プール内のデータベースの場合サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または##MS_ServerStateReader##
サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE
アクセス許可または ##MS_ServerStateReader##
サーバー ロールのメンバーシップのいずれかが必要です。
SQL Server 2022 以降でのアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。
解説
このビューは、非同期更新統計ジョブについてのみ情報を返します。 非同期更新統計の詳細については、「 Statistics」を参照してください。
object_id4経由のobject_id1の値は、ジョブ要求の種類によって異なります。 次の表は、それぞれのジョブの種類の列に関する説明です。
要求の種類 | object_id1 | object_id2 | object_id3 | object_id4 |
---|---|---|---|---|
非同期更新統計 | テーブルまたはビュー ID | 統計 ID | 非使用 | 非使用 |
例
次の例では、SQL Server のインスタンス内の各データベースのバックグラウンド キュー内のアクティブな非同期ジョブの数を返します。
SELECT DB_NAME(database_id) AS [Database], COUNT(*) AS [Active Async Jobs]
FROM sys.dm_exec_background_job_queue
WHERE in_progress = 1
GROUP BY database_id;
GO