Compartir a través de


sp_add_jobserver (Transact-SQL)

Se aplica a:SQL Server

Destina el trabajo indicado al servidor especificado.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @job_id = ] job_id

Número de identificación del trabajo. job_id es uniqueidentifier, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @job_name = ] 'job_name'

Nombre del trabajo. job_name es sysname, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @server_name = ] N'server'

Nombre del servidor al que se va a destinar el trabajo. @server_name es nvarchar(30), con un valor predeterminado de (LOCAL). @server_name puede ser (LOCAL) para un servidor local o el nombre de un servidor de destino existente.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Ninguno.

Comentarios

@automatic_post existe en sp_add_jobserver, pero no aparece en Argumentos. @automatic_post está reservado para uso interno.

SQL Server Management Studio ofrece un método gráfico sencillo para administrar trabajos y es el método recomendado para crear y administrar la infraestructura de trabajo.

Permisos

Este procedimiento almacenado es propiedad del rol db_owner . Puede conceder EXECUTE permisos para cualquier usuario, pero estos permisos se pueden invalidar durante una actualización de SQL Server.

A otros usuarios se les debe conceder uno de los siguientes Agente SQL Server roles fijos de base de datos en la msdb base de datos:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para detalles sobre los permisos de estos roles, consulte Roles fijos de base de datos del Agente SQL Server.

Solo los miembros del rol fijo de servidor sysadmin pueden ejecutarse sp_add_jobserver para trabajos que implican varios servidores.

Ejemplos

A Asignación de un trabajo al servidor local

En el ejemplo siguiente se asigna el trabajo NightlyBackups para su ejecución en el servidor local.

Nota:

En este ejemplo se supone que el NightlyBackups trabajo ya existe.

USE msdb;
GO

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

B. Asignación de un trabajo para ejecutarse en un servidor diferente

En el ejemplo siguiente se asigna el trabajo multiservidor Weekly Sales Backups al servidor SEATTLE2.

Nota:

En este ejemplo se da por supuesto que el trabajo Weekly Sales Backups ya existe y que SEATTLE2 está registrado como servidor de destino para la instancia actual.

USE msdb;
GO

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