sp_delete_schedule (Transact-SQL)
Elimina una programación.
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)