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 обеспечивает простой и наглядный способ управления заданиями и рекомендуется для создания инфраструктуры заданий и управления ей.

Разрешения

Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить 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