sp_help_jobactivity (Transact-SQL)
適用対象: SQL Server
SQL Server エージェント ジョブのランタイム状態に関する情報を一覧表示します。
構文
sp_help_jobactivity
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @session_id = ] session_id ]
[ ; ]
引数
[ @job_id = ] 'job_id'
ジョブ ID 番号。 @job_id は uniqueidentifier で、既定値は NULL
です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @job_name = ] N'job_name'
ジョブの名前。 @job_name は sysname で、既定値は NULL
です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @session_id = ] session_id
情報を報告するセッション ID。 @session_id は int で、既定値は NULL
です。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
次の結果セットを返します。
列名 | データ型 | 説明 |
---|---|---|
session_id |
int | エージェント セッション ID 番号。 |
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が指定されていない場合は、すべてのジョブの情報を一覧表示します。
アクセス許可
この手順では EXECUTE
アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
他のユーザーには、msdb
データベース内の次SQL Server エージェント固定データベース ロールのいずれかを付与する必要があります。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
sysadmin のメンバーのみが、他のユーザーが所有するジョブのアクティビティを表示できます。
例
次の例では、現在のユーザーが表示するアクセス許可を持つすべてのジョブのアクティビティを一覧表示します。
USE msdb;
GO
EXEC dbo.sp_help_jobactivity;
GO