次の方法で共有


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_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 = ] サフィックス

出力の flags 列にテキストの説明が 追加されるかどうかを示すフラグ@suffixはビットで、既定値は 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

アクセス許可

このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

他のユーザーには、データベース内の固定データベース ロールSQL Server エージェント次のいずれかを付与するmsdb必要があります。

  • 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