適用対象:SQL Server
指定したサーバーで指定したジョブを対象とします。
構文
dbo.sp_add_jobserver
{ [ @job_id = ] 'job_id'
| [ @job_name = ] N'job_name' }
[ , [ @server_name = ] N'server_name' ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
引数
[ @job_id = ] 「job_id」
ジョブの識別番号。
@job_id は uniqueidentifier で、既定値は NULL です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @job_name = ] N'job_name
ジョブの名前。
@job_name は sysname で、既定値は NULL です。
@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。
[ @server_name = ] N'server_name'
対象となるジョブを割り当てるサーバーの名前を指定します。
@server_name は nvarchar(30) で、既定値は (LOCAL) です。
@server_name は、ローカル サーバーに対して (LOCAL) することも、既存のターゲット サーバーの名前にすることもできます。
[ @automatic_post = ] automatic_post
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0 (成功) または 1 (失敗)。
結果セット
ありません。
解説
@automatic_post は sp_add_jobserverに存在しますが、引数の下には表示されません。
@automatic_post は内部使用のために予約されています。
SQL Server Management Studio は、簡単かつ直観的な方法でジョブを管理するためのツールで、ジョブ体系の作成および管理に最適です。
アクセス許可
この手順では EXECUTE アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
他のユーザーには、msdb データベース内の次SQL Server エージェント固定データベース ロールのいずれかを付与する必要があります。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
sysadmin固定サーバー ロールのメンバーのみが、複数のサーバーを含むジョブに対してsp_add_jobserverを実行できます。
例
A. ローカル サーバーにジョブを割り当てる
次の例では、ローカル サーバーで実行するジョブ NightlyBackups を割り当てます。
Note
この例では、 NightlyBackups ジョブが既に存在することを前提としています。
USE msdb;
GO
EXECUTE dbo.sp_add_jobserver @job_name = N'NightlyBackups';
GO
B. 別のサーバーで実行するジョブを割り当てる
次の例では、サーバー Weekly Sales Backupsにマルチサーバー ジョブ SEATTLE2を割り当てます。
Note
この例では、Weekly Sales Backups ジョブが既に存在し、SEATTLE2 が現在のインスタンスに対するターゲット サーバーとして登録されていることを前提としています。
USE msdb;
GO
EXECUTE dbo.sp_add_jobserver
@job_name = N'Weekly Sales Backups',
@server_name = N'SEATTLE2';
GO