sp_delete_schedule (Transact-SQL)

Elimina una programación.

Icono de vínculo a temasConvenciones 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

Notas

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 de la función fija de servidor sysadmin. Al resto de usuarios se les debe conceder una de las siguientes funciones fijas de base de datos del Agente SQL Server en la base de datos msdb:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Para obtener detalles sobre los permisos de estas funciones, vea Funciones fijas de base de datos del Agente SQL Server.

Sólo los miembros de la función 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

Conceptos