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
См. также
Справочник
sp_apply_job_to_targets (Transact-SQL)
sp_delete_jobserver (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)