sp_start_job (Transact-SQL)
適用対象: SQL Server
Azure SQL Managed Instance
ジョブを直ちに実行するようにSQL Server エージェントに指示します。
構文
sp_start_job
[ [ @job_name = ] N'job_name' ]
[ , [ @job_id = ] 'job_id' ]
[ , [ @error_flag = ] error_flag ]
[ , [ @server_name = ] N'server_name' ]
[ , [ @step_name = ] N'step_name' ]
[ , [ @output_flag = ] output_flag ]
[ ; ]
引数
[ @job_name = ] N'job_name'
開始するジョブの名前。 @job_name は sysname で、既定値は NULL
です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @job_id = ] 'job_id'
開始するジョブの識別番号を指定します。 @job_id は uniqueidentifier で、既定値は NULL
です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @error_flag = ] error_flag
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
[ @server_name = ] N'server_name'
ジョブを開始するターゲット サーバー。 @server_name は sysname で、既定値は NULL
です。 @server_name は、ジョブが現在対象となっているターゲット サーバーのいずれかである必要があります。
[ @step_name = ] N'step_name'
ジョブの実行を開始するステップの名前を指定します。 @step_name は sysname で、既定値は NULL
です。 ローカル ジョブにのみ適用されます。
[ @output_flag = ] output_flag
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
このストアド プロシージャは、 msdb
データベースにあります。
このストアド プロシージャは、azure SQL Database 用の Azure Elastic Jobs サービスの同様のオブジェクトとsp_start_job
の名前を共有。 エラスティック ジョブのバージョンについては、「 jobs.sp_start_job (Azure エラスティック ジョブ) (Transact-SQL)」を参照してください。
このストアド プロシージャは、 db_owner ロールによって所有されています。 EXECUTE
アクセス許可は任意のユーザーに付与できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。
他のユーザーには、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