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


sp_delete_schedule (Transact-SQL)

Синтаксис

sp_delete_schedule { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @force_delete = ] force_delete

Аргументы

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

    ПримечаниеПримечание

    Должен быть указан один из аргументов schedule_id или schedule_name, но оба этих аргумента указаны быть не могут.

  • [ @schedule_name= ] 'schedule_name'
    Имя удаляемого расписания. Аргумент schedule_name имеет тип sysname и значение по умолчанию NULL.

    ПримечаниеПримечание

    Должен быть указан один из аргументов schedule_id или schedule_name, но оба этих аргумента указаны быть не могут.

  • [ @force_delete = ] force_delete
    Указывает, следует ли процедуре завершаться с ошибкой, если расписание прикреплено к заданию. Аргумент Force_delete имеет тип bit и значение по умолчанию 0. Когда аргумент force_delete принимает значение 0, хранимая процедура завершается ошибкой, если расписание прикреплено к заданию. Когда аргумент force_delete принимает значение 1, расписание удаляется независимо от того, прикреплено ли оно к заданию.

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

0 (успешное завершение) или 1 (неуспешное завершение)

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

Нет

Замечания

По умолчанию расписание нельзя удалить, если оно прикреплено к заданию. Чтобы удалить расписание, прикрепленное к заданию, присвойте аргументу force_delete значение 1. Удаление расписания не приведет к остановке запущенных заданий.

Разрешения

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

  • SQLAgentUserRole;

  • SQLAgentReaderRole;

  • SQLAgentOperatorRole.

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

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

Примеры

A. Удаление расписания

В данном примере удаляется расписание NightlyJobs. Расписание, прикрепленное к какому-либо заданию, удалено не будет.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = N'NightlyJobs' ;
GO

Б. Удаление расписания, прикрепленного к заданию

В следующем примере расписание RunOnce удаляется независимо от того, прикреплено ли оно к заданию.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO

См. также

Справочник

Основные понятия