sp_detach_schedule (Transact-SQL)
Quita una asociación entre una programación y un trabajo.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_detach_schedule
{ [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
{ [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
[ @delete_unused_schedule = ] delete_unused_schedule
Argumentos
[ @job_id= ] job_id
Número de identificación del trabajo cuya programación se va a quitar. job_id es de tipo uniqueidentifier y su valor predeterminado es NULL.[ @job_name= ] 'job_name'
Nombre del trabajo cuya programación se va a quitar. job_name es 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 quitar del trabajo. schedule_id es de tipo int y su valor predeterminado es NULL.[ @schedule_name= ] 'schedule_name'
Nombre de la programación se va a quitar del trabajo. schedule_name es de tipo sysname y su valor predeterminado es NULL.[!NOTA]
Se debe especificar schedule_id o schedule_name, pero no ambos.
[ @delete_unused_schedule= ] delete_unused_schedule
Especifica si se van a eliminar las programaciones de trabajo no utilizadas. delete_unused_schedule es de tipo bit y su valor predeterminado es 0, lo que significa que todas las programaciones se mantendrán, aunque ningún trabajo haga referencia a ellas. Si se establece en 1, las programaciones de trabajo no utilizadas se eliminan si ningún trabajo hace referencia a ellas.
Valores de código de retorno
0 (correcto) o 1 (error)
Conjuntos de resultados
Ninguno
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 realiza una comprobación para determinar si el usuario es propietario de la programación. Tan solo los miembros del rol fijo de servidor sysadmin pueden separar programaciones de los trabajos que pertenecen a otro usuario.
Ejemplos
En el siguiente ejemplo se quita una asociación entre una programación 'NightlyJobs' y un trabajo 'BackupDatabase'.
USE msdb ;
GO
EXEC dbo.sp_detach_schedule
@job_name = 'BackupDatabase',
@schedule_name = 'NightlyJobs' ;
GO
Vea también
Referencia
sp_add_schedule (Transact-SQL)