sp_detach_schedule (Transact-SQL)
Удаляет ассоциативную связь между расписанием и заданием.
Синтаксические обозначения Transact-SQL
Синтаксис
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
Аргументы
[ @job_id= ] job_id
Идентификационный номер задания, из которого удаляется расписание. Аргумент job_id имеет тип uniqueidentifier и значение по умолчанию NULL.[ @job_name= ] 'job_name'
Имя задания, из которого удаляется расписание. Аргумент job_name имеет тип sysname и значение по умолчанию NULL.Примечание
Необходимо указать либо аргумент job_id, либо аргумент job_name, но не оба аргумента одновременно.
[ @schedule_id= ] schedule_id
Идентификационный номер расписания, которое удаляется из задания. Аргумент schedule_id имеет тип int и значение по умолчанию NULL.[ @schedule_name= ] 'schedule_name'
Имя расписания, которое удаляется из задания. Аргумент schedule_name имеет тип sysname и значение по умолчанию NULL.Примечание
Необходимо указать либо аргумент schedule_id, либо аргумент schedule_name, но не оба аргумента одновременно.
[ @delete_unused_schedule= ] delete_unused_schedule
Указывает, удалять ли неиспользованные расписания. Аргумент delete_unused_schedule имеет тип bit и значение по умолчанию 0; это означает, что все расписания будут сохранены, даже если на них не ссылается ни одно из заданий. Если значение равно 1, неиспользуемые расписания заданий будут удалены, если ни одно из заданий в них не включено.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
Нет
Разрешения
По умолчанию эту хранимую процедуру могут выполнять члены предопределенной роли сервера sysadmin. Другим пользователям должна быть предоставлена одна из следующих предопределенных ролей базы данных агента SQL Server в базе данных msdb.
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Заметьте, что владелец задания может присоединять его к расписанию и отсоединять от расписания, не являясь владельцем расписания. Однако расписание нельзя удалить, если в результате отсоединения в нем не останется ни одного задания и вызов выполняется не владельцем расписания.
Дополнительные сведения о разрешениях для этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
SQL Server проверяет, является ли пользователь владельцем расписания. Только члены предопределенной роли сервера sysadmin могут удалять расписания из заданий, которыми владеют другие пользователи.
Примеры
Следующий пример удаляет ассоциативную связь между расписанием 'NightlyJobs' и заданием 'BackupDatabase'.
USE msdb ;
GO
EXEC dbo.sp_detach_schedule
@job_name = 'BackupDatabase',
@schedule_name = 'NightlyJobs' ;
GO
См. также
Справочник
sp_add_schedule (Transact-SQL)