Compartir a través de


sp_delete_schedule (Transact-SQL)

Elimina una programación.

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

Sintaxis

sp_delete_schedule { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @force_delete = ] force_delete

Argumentos

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

    [!NOTA]

    Se debe especificar schedule_id o schedule_name, pero no ambos.

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

    [!NOTA]

    Se debe especificar schedule_id o schedule_name, pero no ambos.

  • [ @force_delete = ] force_delete
    Especifica si el procedimiento debe generar un error si la programación está adjunta a un trabajo. Force_delete es de tipo bit y su valor predeterminado es 0. Cuando force_delete es 0, el procedimiento almacenado genera un error si la programación está adjunta a un trabajo. Cuando force_delete es 1, la programación se elimina independientemente de si está adjunta a un trabajo.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Comentarios

De manera predeterminada, una programación no se puede eliminar si está adjunta a un trabajo. Para eliminar una programación que está adjunta a un trabajo, especifique el valor 1 para force_delete. La eliminación de una programación no detiene los trabajos actualmente en ejecución.

Permisos

De manera predeterminada, este procedimiento almacenado lo pueden ejecutar los miembros del rol fijo de servidor sysadmin. 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.

Solo los miembros del rol sysadmin pueden eliminar una programación de trabajo que sea propiedad de otro usuario.

Ejemplos

A.Eliminar una programación

En el ejemplo siguiente se elimina la programación NightlyJobs. Si la programación está adjunta a algún trabajo, en el ejemplo no se elimina la programación.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = N'NightlyJobs' ;
GO

B.Eliminar una programación adjunta a un trabajo

En el ejemplo siguiente se elimina la programación RunOnce, independientemente de si está adjunta a un trabajo.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO

Vea también

Referencia

sp_add_schedule (Transact-SQL)

Conceptos

Implementar trabajos