sp_add_jobserver (Transact-SQL)sp_add_jobserver (Transact-SQL)

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

指定されたジョブを、特定のサーバーにおける対象ジョブにします。Targets the specified job at the specified server.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions


sp_add_jobserver [ @job_id = ] job_id | [ @job_name = ] 'job_name'  
     [ , [ @server_name = ] 'server' ]   


ジョブの識別番号を [ @job_id = ] job_id します。[ @job_id = ] job_id The identification number of the job. job_iduniqueidentifier,、既定値は NULL です。job_id is uniqueidentifier, with a default of NULL.

ジョブの名前 [ @job_name = ] 'job_name' ます。[ @job_name = ] 'job_name' The name of the job. job_namesysname,、既定値は NULL です。job_name is sysname, with a default of NULL.


Job_idまたはjob_nameのいずれかを指定する必要がありますが、両方を指定することはできません。Either job_id or job_name must be specified, but both cannot be specified.

ジョブを対象とするサーバーの名前を [ @server_name = ] 'server' します。[ @server_name = ] 'server' The name of the server at which to target the job. サーバーnvarchar (30) ,、既定値は N ' (LOCAL) ' です。server is nvarchar(30), with a default of N'(LOCAL)'. サーバーには、ローカルサーバーの場合は (local) 、または既存の対象サーバーの名前を指定できます。server can be either (LOCAL) for a local server, or the name of an existing target server.

リターン コードの値Return Code Values

0 (成功) または1 (失敗)0 (success) or 1 (failure)

結果セットResult Sets



@automatic_postsp_add_jobserverに存在しますが、[引数] の下には表示されません。@automatic_post exists in sp_add_jobserver, but is not listed under Arguments. @automatic_postは、内部使用のために予約されています。@automatic_post is reserved for internal use.

SQL Server Management StudioSQL Server Management Studio は、ジョブを簡単に管理できるグラフィカルなツールです。ジョブのインフラストラクチャを作成し、管理するには、このツールを使用することをお勧めします。provides an easy, graphical way to manage jobs, and is the recommended way to create and manage the job infrastructure.


既定では、このストアド プロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーです。By default, members of the sysadmin fixed server role can execute this stored procedure. 他のユーザーには、 SQL ServerSQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。Other users must be granted one of the following SQL ServerSQL Server Agent fixed database roles in the msdb database:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

これらのロールの権限の詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.

複数のサーバーを含むジョブのsp_add_jobserverを実行できるのは、 sysadmin固定サーバーロールのメンバーだけです。Only members of the sysadmin fixed server role can execute sp_add_jobserver for jobs that involve multiple servers.


A.A. ローカル サーバーにジョブを割り当てるAssigning a job to the local server

次の例では、ジョブ NightlyBackups をローカルサーバーで実行するように割り当てます。The following example assigns the job NightlyBackups to run on the local server.


この例では、NightlyBackups ジョブが既に存在していることを前提としています。This example assumes that the NightlyBackups job already exists.

USE msdb ;  
EXEC dbo.sp_add_jobserver  
    @job_name = N'NightlyBackups' ;  

b.B. 異なるサーバーで実行するようジョブを割り当てるAssigning a job to run on a different server

次の例では、マルチサーバージョブ Weekly Sales Backups をサーバー SEATTLE2に割り当てます。The following example assigns the multiserver job Weekly Sales Backups to the server SEATTLE2.


この例では、Weekly Sales Backups ジョブが既に存在し、SEATTLE2 が現在のインスタンスに対するターゲット サーバーとして登録されていることを前提としています。This example assumes that the Weekly Sales Backups job already exists and that SEATTLE2 is registered as a target server for the current instance.

USE msdb ;  
EXEC dbo.sp_add_jobserver  
    @job_name = N'Weekly Sales Backups',  
    @server_name = N'SEATTLE2' ;  

参照See Also

transact-sql ( の) sp_apply_job_to_targetssp_apply_job_to_targets (Transact-SQL)
transact-sql ( の) sp_delete_jobserversp_delete_jobserver (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)System Stored Procedures (Transact-SQL)