sp_update_jobstep (Transact-SQL)sp_update_jobstep (Transact-SQL)

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

自動化された処理の実行に使用するジョブのステップに関する設定を変更します。Changes the setting for a step in a job that is used to perform automated activities.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sp_update_jobstep   
     {   [@job_id =] job_id   
       | [@job_name =] 'job_name' } ,  
     [@step_id =] step_id  
     [ , [@step_name =] 'step_name' ]  
     [ , [@subsystem =] 'subsystem' ]   
     [ , [@command =] 'command' ]  
     [ , [@additional_parameters =] 'parameters' ]  
     [ , [@cmdexec_success_code =] success_code ]  
     [ , [@on_success_action =] success_action ]   
     [ , [@on_success_step_id =] success_step_id ]  
     [ , [@on_fail_action =] fail_action ]   
     [ , [@on_fail_step_id =] fail_step_id ]  
     [ , [@server =] 'server' ]   
     [ , [@database_name =] 'database' ]  
     [ , [@database_user_name =] 'user' ]   
     [ , [@retry_attempts =] retry_attempts ]  
     [ , [@retry_interval =] retry_interval ]   
     [ , [@os_run_priority =] run_priority ]  
     [ , [@output_file_name =] 'file_name' ]   
     [ , [@flags =] flags ]  
     [ ,  {   [ @proxy_id = ] proxy_id   
            | [ @proxy_name = ] 'proxy_name' }   

引数Arguments

[ @job_id = ] job_id ステップが属するジョブの識別番号。[ @job_id = ] job_id The identification number of the job to which the step belongs. job_iduniqueidentifier、既定値は NULL です。job_idis uniqueidentifier, with a default of NULL. いずれかjob_idまたはjob_name指定する必要がありますが、両方を指定することはできません。Either job_id or job_name must be specified but both cannot be specified.

[ @job_name = ] 'job_name' ステップが属するジョブの名前。[ @job_name = ] 'job_name' The name of the job to which the step belongs. job_namesysname、既定値は NULL です。job_nameis sysname, with a default of NULL. いずれかjob_idまたはjob_name指定する必要がありますが、両方を指定することはできません。Either job_id or job_name must be specified but both cannot be specified.

[ @step_id = ] step_id 変更するジョブ ステップの識別番号。[ @step_id = ] step_id The identification number for the job step to be modified. この数を変更することはできません。This number cannot be changed. step_idint、既定値はありません。step_idis int, with no default.

[ @step_name = ] 'step_name' ステップの新しい名前です。[ @step_name = ] 'step_name' Is a new name for the step. step_namesysname、既定値は NULL です。step_nameis sysname, with a default of NULL.

[ @subsystem = ] 'subsystem' 実行する Microsoft SQL Server エージェントによって使用されるサブシステムコマンドします。[ @subsystem = ] 'subsystem' The subsystem used by Microsoft SQL Server Agent to execute command. サブシステムnvarchar (40) 、既定値は NULL です。subsystem is nvarchar(40), with a default of NULL.

[ @command = ] 'command' 使用して実行するコマンドサブシステムします。[ @command = ] 'command' The command(s) to be executed through subsystem. コマンドnvarchar (max) 、既定値は NULL です。command is nvarchar(max), with a default of NULL.

[ @additional_parameters = ] 'parameters' 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed.[ @additional_parameters = ] 'parameters' 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed.

[ @cmdexec_success_code = ] success_code によって返される値、 CmdExecを示すサブシステム コマンドコマンドが正常に実行します。[ @cmdexec_success_code = ] success_code The value returned by a CmdExec subsystem command to indicate that command executed successfully. success_codeint、既定値は NULL です。success_code is int, with a default of NULL.

[ @on_success_action = ] success_action ステップが成功した場合に実行するアクション。success_actiontinyint、既定値は null の場合、これらの値のいずれかを指定できます。[ @on_success_action = ] success_action The action to perform if the step succeeds.success_action is tinyint, with a default of NULL, and can be one of these values.

Value 説明 (動作)Description (action)
11 正常に終了します。Quit with success.
22 失敗した状態で終了Quit with failure.
33 次のステップに進むGo to next step.
44 手順に進みますsuccess_step_id します。Go to step success_step_id.

[ @on_success_step_id = ] success_step_id ステップが成功した場合に実行するには、このジョブ ステップの識別番号とsuccess_action4します。[ @on_success_step_id = ] success_step_id The identification number of the step in this job to execute if step succeeds and success_action is 4. success_step_idint、既定値は NULL です。success_step_id is int, with a default of NULL.

[ @on_fail_action = ] fail_action ステップが失敗した場合に実行するアクション。[ @on_fail_action = ] fail_action The action to perform if the step fails. fail_actiontinyint、既定値は NULL でこれらの値のいずれかを指定できます。fail_action is tinyint, with a default of NULL and can have one of these values.

[値]Value 説明 (動作)Description (action)
11 正常に終了します。Quit with success.
22 失敗した状態で終了Quit with failure.
33 次のステップに進むGo to next step.
44 手順に進みます*fail_step_id * Go to step fail_step_id**.

[ @on_fail_step_id = ] fail_step_id ステップが失敗した場合に実行するには、このジョブ ステップの識別番号とfail_action4します。[ @on_fail_step_id = ] fail_step_id The identification number of the step in this job to execute if the step fails and fail_action is 4. fail_step_idint、既定値は NULL です。fail_step_id is int, with a default of NULL.

[ @server = ] 'server' 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed. servernvarchar (128) 、既定値は NULL です。[ @server = ] 'server' 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed. server is nvarchar(128), with a default of NULL.

[ @database_name = ] 'database' 実行するためのデータベースの名前、Transact-SQLTransact-SQL手順。[ @database_name = ] 'database' The name of the database in which to execute a Transact-SQLTransact-SQL step. データベースsysnameします。databaseis sysname. 角かっこ () で囲まれた名前を指定することはできません。Names that are enclosed in brackets ([ ]) are not allowed. 既定値は NULL です。The default value is NULL.

[ @database_user_name = ] 'user' 実行時に使用するユーザー アカウントの名前、Transact-SQLTransact-SQL手順。[ @database_user_name = ] 'user' The name of the user account to use when executing a Transact-SQLTransact-SQL step. ユーザーsysname、既定値は NULL です。useris sysname, with a default of NULL.

[ @retry_attempts = ] retry_attempts 再試行の回数は、このステップが失敗した場合は、使用しようとします。[ @retry_attempts = ] retry_attempts The number of retry attempts to use if this step fails. retry_attemptsint、既定値は NULL です。retry_attemptsis int, with a default of NULL.

[ @retry_interval = ] retry_interval 再試行間隔を分単位の時間数。[ @retry_interval = ] retry_interval The amount of time in minutes between retry attempts. retry_intervalint、既定値は NULL です。retry_interval is int, with a default of NULL.

[ @os_run_priority = ] run_priority 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed.[ @os_run_priority = ] run_priority 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed.

[ @output_file_name = ] 'file_name' このステップの出力を保存するファイルの名前。[ @output_file_name = ] 'file_name' The name of the file in which the output of this step is saved. file_namenvarchar (200) 、既定値は NULL です。file_name is nvarchar(200), with a default of NULL. このパラメーターは、Transact-SQLTransact-SQL サブシステムまたは CmdExec サブシステム上で実行されるコマンドに対してのみ有効です。This parameter is only valid with commands running in Transact-SQLTransact-SQL or CmdExec subsystems.

Output_file_name を NULL に設定するに設定する必要がありますoutput_file_nameに空の文字列 (' ') や、空白文字の文字列を使用できない、 char (32) 関数。To set output_file_name back to NULL, you must set output_file_name to an empty string (' ') or to a string of blank characters, but you cannot use the CHAR(32) function. たとえば、この引数を空の文字列よう設定します。For example, set this argument to an empty string as follows:

@output_file_name = ' '@output_file_name = ' '

[ @flags = ] flags 動作を制御するオプション。[ @flags = ] flags An option that controls behavior. フラグint、これらの値のいずれかを指定できます。flags is int, and can be one of these values.

Value 説明Description
0 (既定値)0 (default) 出力ファイルを上書きします。Overwrite output file.
22 出力ファイルに追加します。Append to output file
44 Transact-SQL ジョブ ステップの出力をステップ履歴に書き込むWrite Transact-SQL job step output to step history
88 テーブルにログを書き込む (既存の履歴を上書きする)Write log to table (overwrite existing history)
1616 テーブルにログを書き込む (既存の履歴に追加します)Write log to table (append to existing history)

[ @proxy_id = ] proxy_id ジョブ ステップを実行するプロキシの ID 番号。[ @proxy_id = ] proxy_id The ID number of the proxy that the job step runs as. proxy_id型は、 int、既定値は NULL です。proxy_id is type int, with a default of NULL. いない場合proxy_idが指定されていないproxy_nameが指定されているおよび no user_nameを指定すると、ジョブ ステップをサービス アカウントとして実行SQL ServerSQL Serverエージェント。If no proxy_id is specified, no proxy_name is specified, and no user_name is specified, the job step runs as the service account for SQL ServerSQL Server Agent.

[ @proxy_name = ] 'proxy_name' ジョブ ステップを実行するプロキシの名前。[ @proxy_name = ] 'proxy_name' The name of the proxy that the job step runs as. proxy_name型は、 sysname、既定値は NULL です。proxy_name is type sysname, with a default of NULL. いない場合proxy_idが指定されていないproxy_nameが指定されているおよび no user_nameを指定すると、ジョブ ステップをサービス アカウントとして実行SQL ServerSQL Serverエージェント。If no proxy_id is specified, no proxy_name is specified, and no user_name is specified, the job step runs as the service account for SQL ServerSQL Server Agent.

リターン コードの値Return Code Values

0 (成功) または1 (失敗)0 (success) or 1 (failure)

コメントRemarks

sp_update_jobstepから実行する必要があります、 msdbデータベース。sp_update_jobstep must be run from the msdb database.

ジョブ ステップを更新すると、ジョブのバージョン番号が増えます。Updating a job step increments the job version number.

アクセス許可Permissions

既定では、このストアド プロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーです。By default, members of the sysadmin fixed server role can execute this stored procedure. 他のユーザーには、 SQL ServerSQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。Other users must be granted one of the following SQL ServerSQL Server Agent fixed database roles in the msdb database:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.

メンバーだけsysadmin別のユーザーが所有するジョブ ステップを更新することができます。Only members of sysadmin can update a job step owned by another user.

ジョブ ステップは、プロキシへのアクセスを必要とするジョブ ステップの作成者が、ジョブ ステップのプロキシへのアクセスに必要です。If the job step requires access to a proxy, the creator of the job step must have access to the proxy for the job step. Transact-SQL を除くすべてのサブシステムでは、プロキシ アカウントが必要です。All subsystems, except Transact-SQL, require a proxy account. メンバーのsysadminと使用できるすべてのプロキシにアクセスできる、SQL ServerSQL Serverプロキシ エージェント サービス アカウント。Members of sysadmin have access to all proxies, and can use the SQL ServerSQL Server Agent service account for the proxy.

使用例Examples

次の例の最初のステップの再試行回数を変更する、Weekly Sales Data Backupジョブ。The following example changes the number of retry attempts for the first step of the Weekly Sales Data Backup job. この例を実行すると、再試行回数は 10 回になります。After running this example, the number of retry attempts is 10.

USE msdb ;  
GO  
  
EXEC dbo.sp_update_jobstep  
    @job_name = N'Weekly Sales Data Backup',  
    @step_id = 1,  
    @retry_attempts = 10 ;  
GO  

関連項目See Also

表示またはジョブの変更 View or Modify Jobs
sp_delete_jobstep (TRANSACT-SQL) sp_delete_jobstep (Transact-SQL)
sp_help_jobstep (TRANSACT-SQL) sp_help_jobstep (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)System Stored Procedures (Transact-SQL)