sp_start_job (Transact-SQL)

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_name のデータ型は sysname で、既定値は NULL です。

  • [ @job_id= ] job_id
    開始するジョブの識別番号を指定します。job_id または job_id のいずれかを指定する必要があります。両方を指定することはできません。job_name のデータ型は uniqueidentifier で、既定値は NULL です。

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

  • [ @server_name= ] 'server_name'
    ジョブを開始する対象サーバーを指定します。server_name のデータ型は nvarchar(128) で、既定値は NULL です。server_name は現在ジョブの対象になっている対象サーバーのいずれかであることが必要です。

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

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

戻り値

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

結果セット

なし

説明

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

権限

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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

SQLAgentUserRole および SQLAgentReaderRole のメンバは、自分が所有しているジョブだけを開始できます。SQLAgentOperatorRole のメンバは、他のユーザーのジョブを含めたすべてのローカル ジョブを開始できます。sysadmin のメンバは、すべてのローカル ジョブおよびマルチサーバー ジョブを開始できます。

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

USE msdb ;
GO

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