sp_update_job (Transact-SQL)
更改作业的属性。
语法
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。[ @job_name =] 'job_name'
作业的名称。job_name的数据类型为 nvarchar(128)。注意 必须指定 job_id 或 job_name,但不能两个都指定。
[ @new_name =] 'new_name'
作业的新名称。new_name的数据类型为 nvarchar(128)。[ @enabled =] enabled
指定已启用(1)还是未启用(0)作业。enabled的数据类型为 tinyint。[ @description =] 'description'
作业的说明。description 的数据类型为 nvarchar(512)。[ @start_step_id =] step_id
作业中要执行的第一个步骤的标识号。step_id的数据类型为 int。[ @category_name =] 'category'
作业的类别。category的数据类型为 nvarchar(128)。[ @owner_login_name =] 'login'
拥有作业的登录名。login的数据类型为 nvarchar(128)。只有 sysadmin 固定服务器角色的成员才能更改作业所有权。[ @notify_level_eventlog =] eventlog_level
指定何时将该作业的项放入 Microsoft Windows 应用程序日志。eventlog_level的数据类型为 int,可以是下列值之一:值
说明(操作)
0
从不
1
成功时
2
失败时
3
始终
[ @notify_level_email =] email_level
指定在该作业完成后发送电子邮件的时间。email_level的数据类型为 int。email_level与 eventlog_level 使用相同的值。[ @notify_level_netsend =] netsend_level
指定在该作业完成后发送网络消息的时间。netsend_level的数据类型为 int。netsend_level与 eventlog_level 使用相同的值。[ @notify_level_page =] page_level
指定在该作业完成后发送页的时间。page_level的数据类型为 int。page_level与 eventlog_level 使用相同的值。[ @notify_email_operator_name =] 'email_name'
当达到 email_level 时要将电子邮件发送到的操作员的电子邮件名称。email_name 的数据类型为 nvarchar(128)。[ @notify_netsend_operator_name =] 'netsend_operator'
向其发送网络消息的操作员的名称。netsend_operator 的数据类型为 nvarchar(128)。[ @notify_page_operator_name =] 'page_operator'
向其发送页的操作员的名称。page_operator 的数据类型为 nvarchar(128)。[ @delete_level =] delete_level
指定删除作业的时间。delete_value的数据类型为 int。delete_level与 eventlog_level 使用相同的值。[ @automatic_post =] automatic_post
保留。
返回代码值
0(成功)或 1(失败)
注释
sp_update_job 必须从 msdb 数据库中运行。
sp_update_job 只更改提供了参数值的设置。如果省略某一参数,则保留其当前设置。
权限
默认情况下,只有 sysadmin 固定服务器角色的成员才可以执行此存储过程。其他用户必须被授予 msdb 数据库中下列 SQL Server 代理固定数据库角色的权限之一:
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