sp_help_jobactivity (Transact-SQL)

適用対象:SQL Server

SQL Server エージェント ジョブのランタイム状態に関する情報を一覧表示します。

Transact-SQL 構文表記規則

構文

  
sp_help_jobactivity { [ @job_id = ] job_id | [ @job_name = ] 'job_name' }  
     [ , [ @session_id = ] session_id ]  

引数

[ @job_id = ] job_id ジョブ ID 番号。 job_iduniqueidentifier で、既定値は NULL です。

[ @job_name = ] 'job_name' ジョブの名前。 job_namesysname で、既定値は NULL です。

注意

job_idまたはjob_nameを指定する必要がありますが、両方を指定することはできません。

[ @session_id = ] session_id 情報を報告するセッション ID。 session_idint で、既定値は NULL です。

リターン コードの値

0 (成功) または 1 (失敗)

結果セット

次の結果セットを返します。

列名 データ型 説明
session_id int エージェント セッション識別番号。
job_id uniqueidentifier ジョブの識別子。
job_name sysname ジョブの名前。
run_requested_date datetime ジョブの実行が要求された日付。
run_requested_source sysname ジョブを実行する要求のソース。 つぎのいずれかです。

1 = スケジュールに従って実行

2 = アラートに応答して実行する

3 = 起動時に実行

4 = ユーザーによる実行

6 = CPU アイドル スケジュールで実行
queued_date datetime 要求がキューに登録された日付。 ジョブが直接実行された場合は NULL。
start_execution_date datetime ジョブが実行可能スレッドに割り当てられた場合。
last_executed_step_id int 最後に実行されたジョブ ステップのステップ ID。
last_exectued_step_date datetime 最後にジョブ ステップを開始した日付。
stop_execution_date datetime ジョブが停止した日付。
next_scheduled_run_date datetime ジョブが次に実行されるようにスケジュールされている場合。
job_history_id int ジョブ履歴テーブル内のジョブ履歴の識別子。
message nvarchar(1024) ジョブの最後の実行中に生成されたメッセージ。
run_status int ジョブの最後の実行から返された状態:

0 = エラーが失敗しました

1 = 成功

3 = キャンセル済み

5 = 状態が不明です
operator_id_emailed int ジョブの完了時に電子メールの通知を受けたオペレーターの ID 番号。
operator_id_netsent int ジョブの完了時に net send 経由で通知されたオペレーターの ID 番号。
operator_id_paged int ジョブの完了時に、ポケットベルの通知を受けたオペレーターの ID 番号。

解説

このプロシージャでは、ジョブに関する現在の状態のスナップショットが生成されます。 返される結果は、要求が処理された時点の情報を表します。

SQL Server エージェントは、エージェント サービスが開始されるたびにセッション ID を作成します。 セッション ID は、 テーブル msdb.dbo.syssessions に格納されます。

session_idが指定されていない場合は、最新のセッションに関する情報が一覧表示されます。

job_nameまたはjob_idが指定されていない場合は、すべてのジョブの情報が一覧表示されます。

アクセス許可

既定では、 sysadmin 固定サーバー ロールのメンバーは、このストアド プロシージャを実行できます。 他のユーザーには、 SQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。

sysadmin のメンバーのみが、他のユーザーが所有するジョブのアクティビティを表示できます。

次の例では、現在のユーザーが表示するアクセス許可を持つすべてのジョブのアクティビティを一覧表示します。

USE msdb ;  
GO  
  
EXEC dbo.sp_help_jobactivity ;  
GO  

参照

SQL Server エージェントのストアド プロシージャ (Transact-SQL)