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


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