Transact-SQL 参考

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。

说明  必须或者指定 job_id 或者指定 job_name,但不能两个都指定。

[@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

请参见

sp_add_job

sp_delete_job

sp_help_job

系统存储过程