sp_add_jobserver (Transact-SQL)
Посылает указанное задание на указанный сервер.
Синтаксис
sp_add_jobserver [ @job_id = ] job_id | [ @job_name = ] 'job_name'
[ , [ @server_name = ] 'server' ]
Аргументы
[ @job_id = ] job_id
Идентификатор задания. Аргумент job_id имеет тип uniqueidentifier и значение по умолчанию NULL.[ @job_name = ] 'job_name'
Имя задания. Аргумент job_name имеет тип sysname и значение по умолчанию NULL.Примечание Необходимо задать либо аргумент job_id, либо аргумент job_name, но не оба аргумента одновременно.
[ @server_name = ] 'server'
Имя целевого сервера для задания. Аргумент server имеет тип nvarchar(30) и значение по умолчанию N'(LOCAL)'. Аргумент serverможет иметь значение либо (LOCAL) для локального сервера, либо имя существующего целевого сервера.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
Нет
Замечания
Аргумент @automatic_post существует в процедуре sp_add_jobserver, но не входит в список аргументов. Аргумент @automatic_post зарезервирован для внутреннего использования.
Среда Среда SQL Server Management Studio предоставляет доступный графический способ управления заданиями и рекомендуется для создания инфраструктуры заданий и управления ей.
Разрешения
По умолчанию эту хранимую процедуру могут выполнять члены предопределенной роли сервера sysadmin. Другим пользователям должна быть предоставлена одна из следующих предопределенных ролей базы данных агента SQL Server в базе данных msdb:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Подробные сведения о разрешениях для этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
Выполнять процедуру sp_add_jobserver для заданий, использующих несколько серверов, могут только члены предопределенной роли сервера sysadmin.
Примеры
А. Назначение заданий локальному серверу
В следующем примере задание NightlyBackups назначается для выполнения на локальном сервере.
Примечание |
---|
В этом примере подразумевается, что задание NightlyBackups уже существует. |
USE msdb ;
GO
EXEC dbo.sp_add_jobserver
@job_name = N'NightlyBackups' ;
GO
Б. Назначение выполнения заданий на другом сервере
В следующем примере назначается выполнение многосерверного задания Weekly Sales Backups на сервере SEATTLE2.
Примечание |
---|
В этом примере подразумевается, что задание Weekly Sales Backups уже существует, и что SEATTLE2 зарегистрирован в качестве целевого сервера текущего экземпляра. |
USE msdb ;
GO
EXEC dbo.sp_add_jobserver
@job_name = N'Weekly Sales Backups',
@server_name = N'SEATTLE2' ;
GO