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


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.

    ms178625.note(ru-ru,SQL.90).gifПримечание.
    Необходимо задать либо аргумент 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 назначается для выполнения на локальном сервере.

ms178625.note(ru-ru,SQL.90).gifПримечание.
В этом примере подразумевается, что задание NightlyBackups уже существует.
USE msdb ;
GO

EXEC dbo.sp_add_jobserver
    @job_name = N'NightlyBackups' ;
GO

Б. Назначение выполнения заданий на другом сервере

В следующем примере назначается выполнение многосерверного задания Weekly Sales Backups на сервере SEATTLE2.

ms178625.note(ru-ru,SQL.90).gifПримечание.
В этом примере подразумевается, что задание 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)

Справка и поддержка

Получение помощи по SQL Server 2005