Поделиться через


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)

sp_attach_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)