sp_delete_job (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Удаляет задание из службы агент SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_delete_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @originating_server = ] N'originating_server' ]
[ , [ @delete_history = ] delete_history ]
[ , [ @delete_unused_schedule = ] delete_unused_schedule ]
[ ; ]
Аргументы
[ @job_id = ] 'job_id'
Идентификационный номер задания, который необходимо удалить. @job_id является уникальным идентификатором по умолчаниюNULL
.
Необходимо указать либо @job_id, либо @job_name; их нельзя указать.
[ @job_name = ] N'job_name'
Имя удаляемого задания. @job_name — sysname с значением по умолчаниюNULL
.
Необходимо указать либо @job_id, либо @job_name; их нельзя указать.
[ @originating_server = ] N'originating_server'
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
[ @delete_history = ] delete_history
Указывает, следует ли удалить журнал задания. @delete_history имеет значение по умолчанию1
.
- Если @delete_history
1
, журнал заданий для задания удаляется. - Если @delete_history ,
0
журнал заданий не удаляется.
Когда задание удаляется, а журнал не удаляется, исторические сведения для задания не отображаются в журнале заданий графического пользовательского интерфейса агент SQL Server, но сведения по-прежнему находятся в sysjobhistory
таблице в msdb
базе данных.
[ @delete_unused_schedule = ] delete_unused_schedule
Указывает, следует ли удалять расписания, присоединенные к этому заданию, если они не присоединены к другому заданию. @delete_unused_schedule бит с значением по умолчанию1
.
- Если @delete_unused_schedule ,
1
расписания, присоединенные к этому заданию, удаляются, если другие задания не ссылаются на расписание. - Если @delete_unused_schedule ,
0
расписания не удаляются.
Значения кода возврата
0
(успешно) или 1
(сбой).
Результирующий набор
Нет.
Замечания
Аргумент @originating_server зарезервирован для внутреннего использования.
Аргумент @delete_unused_schedule обеспечивает обратную совместимость с предыдущими версиями SQL Server путем автоматического удаления расписаний, которые не подключены к любому заданию. Этот параметр по умолчанию использует поведение, совместимое с обратной совместимостью. Чтобы сохранить расписания, которые не присоединены к заданию, необходимо указать значение 0
в качестве аргумента @delete_unused_schedule .
Среда SQL Server Management Studio обеспечивает простой и наглядный способ управления заданиями и рекомендуется для создания инфраструктуры заданий и управления ей.
Эта хранимая процедура не может удалять планы обслуживания и не может удалять задания, которые являются частью планов обслуживания. Вместо этого используйте СРЕДУ SQL Server Management Studio для удаления планов обслуживания.
Эта хранимая процедура использует имя аналогичного sp_delete_job
объекта для службы заданий Elastic Azure для База данных SQL Azure. Сведения о версии эластичных заданий см. в разделе jobs.sp_delete_job (задания Эластичных баз данных Azure).
Разрешения
Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE
разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.
Другим пользователям необходимо предоставить одну из следующих агент SQL Server предопределенных ролей базы данных в msdb
базе данных:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
Члены предопределенных ролей сервера sysadmin могут выполняться sp_delete_job
для удаления любого задания. Пользователь, не являющийся членом предопределенной роли сервера sysadmin , может удалять только задания, принадлежащие тому пользователю.
Примеры
В следующем примере удаляется задание NightlyBackups
.
USE msdb;
GO
EXEC sp_delete_job
@job_name = N'NightlyBackups';
GO