次の方法で共有


sp_help_jobstep (Transact-SQL)

適用対象: SQL Server

SQL Server エージェント サービスが自動アクティビティを実行するために使用するジョブのステップの情報を返します。

Transact-SQL 構文表記規則

構文

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_iduniqueidentifier で、既定値は NULL です。

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

[ @job_name = ] N'job_name'

ジョブの名前。 @job_namesysname で、既定値は NULL です。

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

[ @step_id = ] step_id

ジョブ内のステップの識別番号。 含まれていない場合は、ジョブのすべてのステップが含まれます。 @step_idint で、既定値は NULL です。

[ @step_name = ] N'step_name'

ジョブ内のステップの名前。 @step_namesysname で、既定値は NULL です。

[ @suffix = ] suffix

テキストの説明が出力の flags 列に追加されるかどうかを示すフラグ。 @suffixbit で、既定値は 0 です。 @suffix1の場合は、説明が追加されます。

リターン コードの値

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_action4場合、この値は次に実行する手順を示します。
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_jobstepmsdb データベースにあります。

アクセス許可

この手順では 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