sp_start_job (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

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

Transact-SQL 構文表記規則

構文

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_namesysname で、既定値は NULL です。

@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。

[ @job_id = ] 'job_id'

開始するジョブの識別番号を指定します。 @job_iduniqueidentifier で、既定値は NULL です。

@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。

[ @error_flag = ] error_flag

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

[ @server_name = ] N'server_name'

ジョブを開始するターゲット サーバー。 @server_namesysname で、既定値は NULL です。 @server_name は、ジョブが現在対象となっているターゲット サーバーのいずれかである必要があります。

[ @step_name = ] N'step_name'

ジョブの実行を開始するステップの名前を指定します。 @step_namesysname で、既定値は 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