dbo.sysjobactivity (Transact-SQL)
適用対象: SQL サーバー
現在のSQL Server エージェントジョブのアクティビティと状態を記録します。 このテーブルは msdb データベースに格納されます。
列名 | データ型 | 説明 |
---|---|---|
session_id | int | msdb データベースの syssessions テーブルに格納されているセッションの ID。 |
job_id | uniqueidentifier | ジョブの ID。 |
run_requested_date | datetime | ジョブの実行が要求された日時。 |
run_requested_source | sysname(nvarchar(128)) | ジョブの実行要求の発生元。 1 = SOURCE_SCHEDULER 2 = SOURCE_ALERTER 3 = SOURCE_BOOT 4 = SOURCE_USER 6 = SOURCE_ON_IDLE_SCHEDULE |
queued_date | datetime | ジョブがキューに格納された日時。 ジョブが直接実行される場合、この列は NULL です。 |
start_execution_date | datetime | 日付と時刻のジョブの実行がスケジュールされています。 |
last_executed_step_id | int | 実行された最後のジョブ ステップの ID。 |
last_executed_step_ date |
datetime | 最後のジョブ ステップの実行を開始した日時。 |
stop_execution_date | datetime | ジョブの実行が完了した日時。 |
job_history_id | int | sysjobhistory テーブル内の行を識別するために使用します。 |
next_scheduled_run_date | datetime | ジョブの実行がスケジュールされている次の日付と時刻。 |
例
この例では、すべてのSQL Server エージェント ジョブの実行時の状態を返します。 SQL Server Management Studio で、次の Transact SQL を実行します。
SELECT sj.Name,
CASE
WHEN sja.start_execution_date IS NULL THEN 'Not running'
WHEN sja.start_execution_date IS NOT NULL AND sja.stop_execution_date IS NULL THEN 'Running'
WHEN sja.start_execution_date IS NOT NULL AND sja.stop_execution_date IS NOT NULL THEN 'Not running'
END AS 'RunStatus'
FROM msdb.dbo.sysjobs sj
JOIN msdb.dbo.sysjobactivity sja
ON sj.job_id = sja.job_id
WHERE session_id = (
SELECT MAX(session_id) FROM msdb.dbo.sysjobactivity);