Compartilhar via


sp_add_jobserver (Transact-SQL)

Aplica-se a: SQL Server

Tem como destino o trabalho especificado no servidor especificado.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_add_jobserver
    [ @job_id = ] job_id
        | [ @job_name = ] 'job_name'
    [ , [ @server_name = ] 'server' ]
[ ; ]

Argumentos

@job_id [ = ] job_id

O número de identificação do trabalho. job_id é uniqueidentifier, com um padrão de NULL.

Tanto @job_id quanto @job_name devem ser especificados, mas ambos não podem ser especificados.

@job_name [ = ] 'job_name'

O nome do trabalho. job_name é sysname, com um padrão de NULL.

Tanto @job_id quanto @job_name devem ser especificados, mas ambos não podem ser especificados.

@server_name [ = ] N'servidor'

O nome do servidor no qual o trabalho será direcionado. @server_name é nvarchar(30), com um padrão de (LOCAL). @server_name pode ser (LOCAL) para um servidor local ou o nome de um servidor de destino existente.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Comentários

@automatic_post existe em sp_add_jobserver, mas não está listado em Argumentos. @automatic_post é reservado para uso interno.

O SQL Server Management Studio fornece um modo gráfico fácil de gerenciar trabalhos e é o modo recomendado de criar e gerenciar a infra-estrutura de trabalho.

Permissões

Esse procedimento armazenado pertence à função db_owner . Você pode conceder EXECUTE permissões para qualquer usuário, mas essas permissões podem ser substituídas durante uma atualização do SQL Server.

Outros usuários devem receber uma das seguintes funções de banco de dados fixas do msdb SQL Server Agent no banco de dados:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para obter detalhes sobre as permissões dessas funções, consulte Funções de banco de dados fixas do SQL Server Agent.

Somente membros da função de servidor fixa sysadmin podem ser executados sp_add_jobserver para trabalhos que envolvem vários servidores.

Exemplos

R. Atribuir um trabalho ao servidor local

O exemplo a seguir atribui o trabalho NightlyBackups para ser executado no servidor local.

Observação

Este exemplo pressupõe que o NightlyBackups trabalho já existe.

USE msdb;
GO

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

B. Atribuir um trabalho para ser executado em um servidor diferente

O exemplo a seguir atribui o trabalho de vários servidores Weekly Sales Backups ao servidor SEATTLE2.

Observação

Este exemplo assume que o trabalho Weekly Sales Backups já exista e que SEATTLE2 esteja registrado como um servidor de destino para a instância atual.

USE msdb;
GO

EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Backups',
    @server_name = N'SEATTLE2';
GO