sp_start_job (Transact-SQL)

適用対象:SQL Server

ジョブを直ちに実行するようにSQL Server エージェントに指示します。

Transact-SQL 構文表記規則

構文

  
sp_start_job   
     {   [@job_name =] 'job_name'  
       | [@job_id =] job_id }  
     [ , [@error_flag =] error_flag]  
     [ , [@server_name =] 'server_name']  
     [ , [@step_name =] 'step_name']  
     [ , [@output_flag =] output_flag]  

引数

[ @job_name = ] 'job_name' 開始するジョブの名前。 job_idまたはjob_nameを指定する必要がありますが、どちらも指定できません。 job_namesysname で、既定値は NULL です。

[ @job_id = ] job_id 開始するジョブの識別番号。 job_idまたはjob_nameを指定する必要がありますが、どちらも指定できません。 job_iduniqueidentifier で、既定値は NULL です。

[ @error_flag = ] error_flag

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

[ @server_name = ] 'server_name' ジョブを開始するターゲット サーバー。 server_namenvarchar(128)で、既定値は NULL です。 server_name は、ジョブが現在ターゲットになっているターゲット サーバーのいずれかである必要があります。

[ @step_name = ] 'step_name' ジョブの実行を開始するステップの名前。 ローカル ジョブにのみ適用されます。 step_namesysname で、既定値は NULL です

[ @output_flag = ] output_flag

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

リターン コードの値

0 (成功) または 1 (失敗)

結果セット

なし

解説

このストアド プロシージャは msdb データベースにあります。

アクセス許可

既定では、このストアド プロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーです。 他のユーザーには、 SQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。

SQLAgentUserRoleSQLAgentReaderRole のメンバーは、自分が所有するジョブのみを開始できます。 SQLAgentOperatorRole のメンバーは、他のユーザーが所有しているものも含め、すべてのローカル ジョブを開始できます。 sysadmin のメンバーは、すべてのローカル ジョブとマルチサーバー ジョブを開始できます。

次の例では、 という名前 Weekly Sales Data Backupのジョブを開始します。

USE msdb ;  
GO  
  
EXEC dbo.sp_start_job N'Weekly Sales Data Backup' ;  
GO  

参照

sp_delete_job (Transact-SQL)
sp_help_job (Transact-SQL)
sp_stop_job (Transact-SQL)
sp_update_job (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)