sp_update_job (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Обновляет атрибуты существующего задания, созданного в службе агент SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_update_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @new_name = ] N'new_name' ]
[ , [ @enabled = ] enabled ]
[ , [ @description = ] N'description' ]
[ , [ @start_step_id = ] start_step_id ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @notify_level_eventlog = ] notify_level_eventlog ]
[ , [ @notify_level_email = ] notify_level_email ]
[ , [ @notify_level_netsend = ] notify_level_netsend ]
[ , [ @notify_level_page = ] notify_level_page ]
[ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
[ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
[ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
[ , [ @delete_level = ] delete_level ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
Аргументы
[ @job_id = ] 'job_id'
Идентификатор обновляемого задания. @job_id является уникальным идентификатором по умолчаниюNULL
.
Необходимо указать @job_id или @job_name, но их нельзя указать.
[ @job_name = ] N'job_name'
Имя задания. @job_name — sysname с значением по умолчаниюNULL
.
Необходимо указать @job_id или @job_name, но их нельзя указать.
[ @new_name = ] N'new_name'
Новое имя задания. @new_name — sysname с значением по умолчаниюNULL
.
[ @enabled = ] включен
Указывает, включено ли задание (1
) или не включено (0
). @enabled крошечный, с значением по умолчаниюNULL
.
[ @description = ] N'description'
Описание задания. @description — nvarchar(512) с значением по умолчаниюNULL
.
[ @start_step_id = ] start_step_id
Идентификатор первого этапа, выполняемого в ходе задания. @start_step_id имеет значение int с значением по умолчаниюNULL
.
[ @category_name = ] N'category_name'
Категория задания. @category_name — sysname с значением по умолчаниюNULL
.
[ @owner_login_name = ] N'owner_login_name'
Имя входа, которое владеет заданием. @owner_login_name имеет имя sysname с значением по умолчаниюNULL
. Только члены предопределенных ролей сервера sysadmin могут изменить владение заданием.
[ @notify_level_eventlog = ] notify_level_eventlog
Указывает, следует ли помещать запись в журнал приложений Microsoft Windows для данного задания. @notify_level_eventlog является int и может быть одним из этих значений.
Значение | Описание (действие) |
---|---|
0 |
Никогда |
1 |
При успешном завершении |
2 |
При сбое |
3 |
Всегда |
[ @notify_level_email = ] notify_level_email
Указывает, нужно ли отправить сообщение электронной почты по завершении этого задания. @notify_level_email имеет значение int с значением по умолчаниюNULL
. @notify_level_email использует те же значения, что и @notify_level_eventlog.
[ @notify_level_netsend = ] notify_level_netsend
Указывает, нужно ли отправить сетевое сообщение по завершении этого задания. @notify_level_netsend имеет значение int с значением по умолчаниюNULL
. @notify_level_netsend использует те же значения, что и @notify_level_eventlog.
[ @notify_level_page = ] notify_level_page
Указывает, необходимо ли отправить страницу по завершении этого задания. @notify_level_page имеет значение int с значением по умолчаниюNULL
. @notify_level_page использует те же значения, что и @notify_level_eventlog.
[ @notify_email_operator_name = ] N'notify_email_operator_name'
Имя оператора, которому отправляется электронная почта при достижении email_level . @notify_email_operator_name — sysname с значением по умолчаниюNULL
.
[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'
Имя оператора, которому отправляется сетевое сообщение. @notify_netsend_operator_name имеет имя sysname с значением по умолчаниюNULL
.
[ @notify_page_operator_name = ] N'notify_page_operator_name'
Имя оператора, которому отправляется страница. @notify_page_operator_name — sysname с значением по умолчаниюNULL
.
[ @delete_level = ] delete_level
Указывает, когда необходимо удалить задание. @delete_level имеет значение int с значением по умолчаниюNULL
. @delete_level используют те же значения, что и @notify_level_eventlog.
[ @automatic_post = ] automatic_post
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_update_job
должен выполняться из msdb
базы данных.
sp_update_job
изменяет только те параметры, для которых предоставляются значения параметров. Если параметр пропущен, сохраняется текущая настройка.
Эта хранимая процедура использует имя аналогичного sp_update_job
объекта для службы заданий Elastic Azure для База данных SQL Azure. Сведения о версии эластичных заданий см. в разделе jobs.sp_update_job (задания Эластичных баз данных Azure).
Разрешения
Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE
разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.
Другим пользователям необходимо предоставить одну из следующих агент SQL Server предопределенных ролей базы данных в msdb
базе данных:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.
Только члены sysadmin могут использовать эту хранимую процедуру для изменения атрибутов заданий, принадлежащих другим пользователям.
Примеры
В следующем примере изменяются имя, описание и включенное состояние задания NightlyBackups
.
USE msdb;
GO
EXEC dbo.sp_update_job
@job_name = N'NightlyBackups',
@new_name = N'NightlyBackups -- Disabled',
@description = N'Nightly backups disabled during server migration.',
@enabled = 0;
GO