Поделиться через


sp_add_jobserver (Transact-SQL)

Посылает указанное задание на указанный сервер.

Значок ссылки на разделСинтаксические обозначения в 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