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