sp_help_jobstep (Transact-SQL)
適用対象: SQL Server
SQL Server エージェント サービスが自動アクティビティを実行するために使用するジョブのステップの情報を返します。
構文
sp_help_jobstep
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @step_id = ] step_id ]
[ , [ @step_name = ] N'step_name' ]
[ , [ @suffix = ] suffix ]
[ ; ]
引数
[ @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を指定する必要がありますが、両方を指定することはできません。
[ @step_id = ] step_id
ジョブ内のステップの識別番号。 含まれていない場合は、ジョブのすべてのステップが含まれます。 @step_id は int で、既定値は NULL
です。
[ @step_name = ] N'step_name'
ジョブ内のステップの名前。 @step_name は sysname で、既定値は NULL
です。
[ @suffix = ] suffix
テキストの説明が出力の flags 列に追加されるかどうかを示すフラグ。 @suffix は bit で、既定値は 0
です。 @suffix が 1
の場合は、説明が追加されます。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
列名 | データ型 | 説明 |
---|---|---|
step_id |
int | ステップの一意識別子。 |
step_name |
sysname | ジョブ内のステップの名前。 |
subsystem |
nvarchar(40) | ステップ コマンドを実行するサブシステム。 |
command |
nvarchar(max) | ステップで実行されたコマンド。 |
flags |
int | ステップの動作を制御する値のビットマスク。 |
cmdexec_success_code |
int | CmdExec ステップの場合、この値は成功したコマンドのプロセス終了コードです。 |
on_success_action |
tinyint | ステップが成功した場合に実行するアクション:1 = 成功を報告するジョブを終了します。2 = 失敗を報告するジョブを終了します。3 = 次の手順に進みます。4 = ステップに進みます。 |
on_success_step_id |
int | on_success_actionが 4 の場合、この値は次に実行する手順を示します。 |
on_fail_action |
tinyint | 手順が失敗した場合の処理。 値は on_success_action と同じです。 |
on_fail_step_id |
int | on_fail_action が4 場合、この値は次に実行する手順を示します。 |
server |
sysname | 予約済み。 |
database_name |
sysname | Transact-SQL ステップの場合、この値はコマンドが実行されるデータベースです。 |
database_user_name |
sysname | Transact-SQL ステップの場合、この値はコマンドが実行されるデータベース ユーザー コンテキストです。 |
retry_attempts |
int | コマンドを再試行する必要がある最大回数 (失敗した場合)。 |
retry_interval |
int | 再試行の間隔 (分単位)。 |
os_run_priority |
int | 予約済み。 |
output_file_name |
nvarchar(200) | コマンド出力の書き込み先となるファイル (Transact-SQL、 CmdExec、および PowerShell 手順のみ)。 |
last_run_outcome |
int | 最後に実行したときのステップの結果。0 = 失敗1 = 成功2 = 再試行3 = キャンセル済み5 = 不明 |
last_run_duration |
int | 最後に実行されたステップの期間 (hhmmss )。 |
last_run_retries |
int | コマンドが最後にステップを実行した時刻に再試行された回数。 |
last_run_date |
int | 最後に実行を開始したステップの日付。 |
last_run_time |
int | ステップが最後に実行を開始した時刻。 |
proxy_id |
int | ジョブ ステップのプロキシ。 |
解説
sp_help_jobstep
が msdb
データベースにあります。
アクセス許可
この手順では EXECUTE
アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
他のユーザーには、msdb
データベース内の次SQL Server エージェント固定データベース ロールのいずれかを付与する必要があります。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
SQLAgentUserRole のメンバーは、所有するジョブのジョブ ステップのみを表示できます。
例
A. 特定のジョブのすべてのステップの情報を返す
次の例では、Weekly Sales Data Backup
という名前のジョブに関する、すべてのジョブ ステップを返します。
USE msdb;
GO
EXEC dbo.sp_help_jobstep
@job_name = N'Weekly Sales Data Backup';
GO
B. 特定のジョブ ステップに関する情報を返す
次の例では、 Weekly Sales Data Backup
という名前のジョブの最初のジョブ ステップに関する情報を返します。
USE msdb;
GO
EXEC dbo.sp_help_jobstep
@job_name = N'Weekly Sales Data Backup',
@step_id = 1;
GO