sp_delete_schedule (Transact-SQL)
Se aplica a: SQL Server
Elimina una programación.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_delete_schedule
[ [ @schedule_id = ] schedule_id ]
[ , [ @schedule_name = ] N'schedule_name' ]
[ , [ @force_delete = ] force_delete ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
Argumentos
[ @schedule_id = ] schedule_id
Número de identificación de la programación que se va a eliminar. @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 eliminar. @schedule_name es sysname, con un valor predeterminado de NULL
.
Se deben especificar @schedule_id o @schedule_name , pero no se pueden especificar 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 bit, con un valor predeterminado de 0
.
- Cuando @force_delete es
0
, se produce un error en el procedimiento almacenado si la programación está asociada a un trabajo. - Cuando @force_delete es
1
, la programación se elimina independientemente de si la programación está asociada a un trabajo.
[ @automatic_post = ] automatic_post
Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
Ninguno.
Comentarios
De forma predeterminada, no se puede eliminar una programación si la programación está asociada a un trabajo. Para eliminar una programación asociada a un trabajo, especifique un valor de 1
para @force_delete. La eliminación de una programación no detiene los trabajos que se están ejecutando actualmente.
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.
Solo los miembros del rol sysadmin pueden eliminar una programación de trabajo propiedad de otro usuario.
Ejemplos
A Eliminación de una programación
En el ejemplo siguiente se elimina la programación NightlyJobs
. Si la programación está asociada a cualquier trabajo, el ejemplo no 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