sp_add_jobserver (Transact-SQL)
Aplica-se: 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
Você pode conceder EXECUTE
permissões nesse procedimento, 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