sp_attach_schedule (Transact-SQL)

Se aplica a:SQL Server

Configura una programación para un trabajo.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_attach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Argumentos

[ @job_id = ] 'job_id'

Número de identificación del trabajo al que se agrega la programación. @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 = ] N'job_name'

Nombre del trabajo al que se agrega la programación. @job_name es sysname, con un valor predeterminado de NULL.

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

[ @schedule_id = ] schedule_id

Número de identificación de la programación que se va a configurar para el trabajo. @schedule_id es int, con un valor predeterminado de NULL.

Se deben especificar @schedule_id o @schedule_name , pero no se pueden especificar ambos.

[ @schedule_name = ] N'schedule_name'

Nombre de la programación que se va a configurar para el trabajo. @schedule_name es sysname, con un valor predeterminado de NULL.

Se deben especificar @schedule_id o @schedule_name , pero no se pueden especificar ambos.

[ @automatic_post = ] automatic_post

@automatic_post es bit, con un valor predeterminado de 1.

Comentarios

La programación y el trabajo deben tener el mismo propietario.

Se puede configurar una programación para más de un trabajo. Se puede ejecutar un trabajo en más de una programación.

Este procedimiento almacenado debe ejecutarse desde la msdb base de datos.

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

El propietario del trabajo puede adjuntar un trabajo a una programación y desasociar un trabajo de una programación sin tener que ser el propietario de la programación. Sin embargo, no se puede eliminar una programación si el desasocio lo dejaría sin trabajos, a menos que el autor de la llamada sea el propietario de la programación.

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

SQL Server comprueba si el usuario posee el trabajo y la programación.

Ejemplos

En el siguiente ejemplo se crea una programación llamada NightlyJobs. Los trabajos que usan esta programación se ejecutan a diario cuando la hora del servidor es 01:00. En el ejemplo se asocia la programación a los trabajos BackupDatabase y RunReports.

Nota:

En este ejemplo se da por supuesto que el trabajo BackupDatabase y el trabajo RunReports ya existen.

USE msdb;
GO

EXEC sp_add_schedule
    @schedule_name = N'NightlyJobs' ,
    @freq_type = 4,
    @freq_interval = 1,
    @active_start_time = 010000 ;
GO

EXEC sp_attach_schedule
   @job_name = N'BackupDatabase',
   @schedule_name = N'NightlyJobs' ;
GO

EXEC sp_attach_schedule
   @job_name = N'RunReports',
   @schedule_name = N'NightlyJobs' ;
GO