sp_start_job (Transact-SQL)
SQL Server エージェントでジョブを直ちに実行するように指示します。
構文
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