sp_detach_schedule (Transact-SQL)

Применимо к:SQL Server

Удаляет ассоциативную связь между расписанием и заданием.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_detach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Аргументы

[ @job_id = ] 'job_id'

Идентификационный номер задания, из которого удаляется расписание. @job_id является уникальным идентификатором по умолчаниюNULL.

[ @job_name = ] N'job_name'

Имя задания, из которого удаляется расписание. @job_name — sysname с значением по умолчаниюNULL.

Примечание.

Необходимо указать @job_id или @job_name, но их нельзя указать.

[ @schedule_id = ] schedule_id

Идентификационный номер расписания, которое удаляется из задания. @schedule_id имеет значение int с значением по умолчаниюNULL.

[ @schedule_name = ] N'schedule_name'

Имя расписания, которое удаляется из задания. @schedule_name — sysname с значением по умолчаниюNULL.

Примечание.

Необходимо указать @schedule_id или @schedule_name, но их нельзя указать.

[ @delete_unused_schedule = ] delete_unused_schedule

Указывает, удалять ли неиспользованные расписания. @delete_unused_schedule бит с значением по умолчанию0.

  • Если задано значение 0, все расписания хранятся, даже если задания не ссылаются на них.
  • Если задано значение 1, неиспользуемые расписания заданий удаляются, если задания не ссылаются на них.

[ @automatic_post = ] automatic_post

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

нет

Разрешения

Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.

Другим пользователям необходимо предоставить одну из следующих агент SQL Server предопределенных ролей базы данных в msdb базе данных:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.

Владелец задания может присоединить задание к расписанию и отсоединить задание от расписания без необходимости быть владельцем расписания. Однако невозможно удалить расписание, если отсоединение не оставит его без заданий, если вызывающий объект не является владельцем расписания.

Только члены sysadmin могут использовать эту хранимую процедуру для изменения атрибутов заданий, принадлежащих другим пользователям.

SQL Server проверка, чтобы определить, владеет ли пользователь расписанием. Только члены предопределенной роли сервера sysadmin могут отсоединять расписания от заданий, принадлежащих другому пользователю.

Примеры

Следующий пример удаляет ассоциативную связь между расписанием NightlyJobs и заданием BackupDatabase.

USE msdb;
GO

EXEC dbo.sp_detach_schedule
    @job_name = 'BackupDatabase',
    @schedule_name = 'NightlyJobs';
GO