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