Compartir a través de


sp_attach_schedule (Transact-SQL)

Configura una programación para un trabajo.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_attach_schedule
     { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } , 
     { [ @schedule_id = ] schedule_id 
     | [ @schedule_name = ] 'schedule_name' }

Argumentos

  • [ @job_id= ] job_id
    Número de identificación del trabajo al que se va a agregar la programación. job_ides de tipo uniqueidentifier y su valor predeterminado es NULL.

  • [ @job_name = ] 'job_name'
    Nombre del trabajo al que se va a agregar la programación. job_namees de tipo sysname y su valor predeterminado es NULL.

    [!NOTA]

    Se debe especificar job_id o job_name, pero no ambos.

  • [ @schedule_id = ] schedule_id
    Número de identificación de la programación que se va a configurar para el trabajo. schedule_ides de tipo int y su valor predeterminado es NULL.

  • [ @schedule_name = ] 'schedule_name'
    Nombre de la programación que se va a configurar para el trabajo. schedule_namees de tipo sysname y su valor predeterminado es NULL.

    [!NOTA]

    Se debe especificar schedule_id o schedule_name, pero no ambos.

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 se tiene que ejecutar en la base de datos msdb.

Permisos

De forma predeterminada, los miembros del rol fijo de servidor sysadmin pueden ejecutar este procedimiento almacenado. Al resto de usuarios se les debe conceder uno de los siguientes roles fijos de base de datos del Agente SQL Server en la base de datos msdb:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Observe que el propietario del trabajo puede adjuntar un trabajo a una programación y separar un trabajo de una programación sin tener que ser asimismo el propietario de la programación. Sin embargo, una programación no se puede eliminar si la separación la dejase sin trabajos, a menos que el autor de la llamada sea el propietario de la programación.

Para obtener más información acerca de los permisos de estos roles, vea Roles fijos de base de datos del Agente SQL Server.

SQL Server comprueba si el usuario es propietario del 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

Vea también

Referencia

sp_add_schedule (Transact-SQL)

sp_detach_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)