sp_start_job (Transact-SQL)

適用対象: SQL ServerAzure 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_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 の sp_start_job Azure Elastic Jobs サービスの同様の オブジェクトと名前を共有します。 エラスティック ジョブのバージョンについては、「jobs.sp_start_job (Azure エラスティック ジョブ) (Transact-SQL)」を参照してください

このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

他のユーザーには、データベース内の固定データベース ロール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