sys.dm_exec_background_job_queue (Transact-SQL)

非同期 (バックグラウンド) で実行するようスケジュール設定されたクエリ プロセッサ ジョブごとに 1 行のデータを返します。

列名

データ型

説明

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

セッション識別子。

権限

サーバーに対する VIEW SERVER STATE 権限が必要です。

説明

このビューは、統計の非同期更新ジョブに関する情報のみを返します。統計の非同期更新の詳細については、「クエリのパフォーマンスを向上させるための統計の使用」を参照してください。

object_id1 から object_id4 までの値は、ジョブ要求の種類によって異なります。次の表は、それぞれのジョブの種類の列に関する説明です。

要求の種類

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