sp_update_job
更改作业的特性。
语法
sp_update_job [@job_id =] job_id | [@job_name =] 'job_name'
[, [@new_name =] 'new_name']
[, [@enabled =] enabled]
[, [@description =] 'description']
[, [@start_step_id =] step_id]
[, [@category_name =] 'category']
[, [@owner_login_name =] 'login']
[, [@notify_level_eventlog =] eventlog_level]
[, [@notify_level_email =] email_level]
[, [@notify_level_netsend =] netsend_level]
[, [@notify_level_page =] page_level]
[, [@notify_email_operator_name =] 'email_name']
[, [@notify_netsend_operator_name =] 'netsend_operator']
[, [@notify_page_operator_name =] 'page_operator']
[, [@delete_level =] delete_level]
[, [@automatic_post =] automatic_post]
参数
[@job_id =] job_id
是要更新的作业的标识号。job_id 的数据类型为 uniqueidentifier 类型,其默认值为 NULL。
[@job_name =] 'job_name'
是作业的名称。job_name 的数据类型为 sysname,其默认值为 NULL。
<!--NOTE-->
说明 必须或者指定 job_id 或者指定 job_name,但不能两个都指定。
<!--/NOTE-->
[@new_name =] 'new_name'
是作业的新名称。new_name 的数据类型为 sysname,其默认值为 NULL。
[@enabled =] enabled
指定启用 (1) 或不启用 (0) 作业。enabled 的数据类型为 tinyint,其默认值为 NULL。
[@description =] 'description'
是作业描述。description 的数据类型为 nvarchar(512),其默认值为 NULL。
[@start_step_id =] step_id
是作业执行的第一个步骤的标识号。step_id 的数据类型为 int,其默认值为 NULL。
[@category_name =] 'category'
是作业分类。category 的数据类型为 sysname,其默认值为 NULL。
[@owner_login_name =] 'login'
是拥有该作业的登录的名称。login 的数据类型为 sysname,其默认值为 NULL。只有 sysadmin 固定服务器角色的成员才能更改作业所有权。
[@notify_level_eventlog =] eventlog_level
指定何时在 Microsoft® Windows NT® 应用程序日志中为该作业添加一项。eventlog_level 的数据类型为 int,其默认值为 NULL,且可以是下列值之一。
值 | 描述(操作) |
---|---|
0 | 从不 |
1 | 成功后 |
2 | 失败后 |
3 | 始终 |
[@notify_level_email =] email_level
指定作业完成后何种情况下应发送电子邮件。email_level 的数据类型为 int,其默认值为 NULL。email_level 使用与 eventlog_level 相同的值。
[@notify_level_netsend =] netsend_level
指定作业完成后何种情况下应发送网络消息。netsend_level 的数据类型为 int,其默认值为 NULL。netsend_level 使用与 eventlog_level 相同的值。
[@notify_level_page =] page_level
指定作业完成后何种情况下应发送呼叫。page_level 的数据类型为 int,其默认值为 NULL。page_level 使用与 eventlog_level 相同的值。
[@notify_email_operator_name =] 'email_name'
是当达到 email_level 时向其发送电子邮件的接收人的电子邮件名。email_name 的数据类型为 sysname,其默认值为 NULL。
[@notify_netsend_operator_name =] 'netsend_operator'
是向其发送网络消息的操作员的名称。netsend_operator 的数据类型为 sysname,其默认值为 NULL。
[@notify_page_operator_name =] 'page_operator'
是向其发送呼叫的操作员的名称。page_operator 的数据类型为 sysname,其默认值为 NULL。
[@delete_level =] delete_level
指定在何种情况下删除作业。delete_value 的数据类型为 int,其默认值为 NULL。delete_level 使用与 eventlog_level 相同的值。
[@automatic_post =] automatic_post
保留。
返回代码值
0(成功)或 1(失败)
注释
sp_update_job 必须从 msdb 数据库中运行。
sp_update_job 只更改提供了参数的设置。如果省略某一参数,则保留其当前设置。
权限
执行权限默认授予 public 角色。
示例
下例更改作业 Archive Tables 的名称和描述,并禁用该作业。
USE msdb
EXEC sp_update_job @job_name = 'Archive Tables',
@new_name = 'Archive Tables - Disabled',
@description = 'Job disabled until end of project',
@enabled = 0