Partilhar via


sp_add_jobserver (Transact-SQL)

Aplica-se a:SQL Server

Direciona o trabalho especificado no servidor especificado.

Transact-SQL convenções de sintaxe

Sintaxe

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

Arguments

[ @job_id = ] job_id

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

Ou @job_id ou @job_name devem ser especificados, mas nenhum dos dois pode ser especificado.

[ @job_name = ] 'job_name'

O nome da tarefa. job_name é sysname, com um padrão de NULL.

Ou @job_id ou @job_name devem ser especificados, mas nenhum dos dois pode ser especificado.

[ @server_name = ] N'servidor'

O nome do servidor para onde direcionar o trabalho. @server_name é nvarchar(30), com um padrão de (LOCAL). @server_name pode ser para (LOCAL) um servidor local ou para o nome de um servidor alvo existente.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Nenhum.

Observações

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

O SQL Server Management Studio fornece uma maneira gráfica fácil de gerenciar trabalhos e é a maneira recomendada de criar e gerenciar a infraestrutura de trabalho.

Permissions

Pode conceder EXECUTE permissões neste procedimento, mas essas permissões podem ser anuladas durante uma atualização do SQL Server.

Outros utilizadores devem receber um dos seguintes papéis fixos de base de dados SQL Server Agent na msdb base de dados:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para detalhes sobre as permissões destes papéis, consulte Funções de Base de Dados Fixas do Agente SQL Server.

Apenas os membros do papel fixo de servidor sysadmin podem executar sp_add_jobserver tarefas que envolvam múltiplos servidores.

Examples

A. Atribuir uma tarefa ao servidor local

O exemplo seguinte atribui a execução da tarefa NightlyBackups no servidor local.

Observação

Este exemplo assume que o NightlyBackups trabalho já existe.

USE msdb;
GO

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

B. Atribui uma tarefa para correr num servidor diferente

O exemplo seguinte atribui a tarefa Weekly Sales Backups multiservidor ao servidor SEATTLE2.

Observação

Este exemplo assume que o Weekly Sales Backups trabalho já existe e que SEATTLE2 está registado como servidor alvo para a instância atual.

USE msdb;
GO

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