更新SQL Agent作业报错:需提供@job_id或@job_name以识别作业
解决SQL Agent作业修改报错:Supply either @job_id or @job_name to identify the job
嘿,我来帮你搞定这个问题!你遇到的报错其实是因为sp_update_job这个存储过程的明确规则——它不允许同时用@job_id和@job_name来定位要修改的作业,你得二选一才行。
你当前执行的语句里同时传入了@job_id和@job_name参数,这就违反了这个存储过程的参数使用逻辑,所以触发了报错提示。
下面是两种正确的写法,任选其一就能完成你的需求(重命名作业、添加描述、禁用作业):
方式1:通过@job_id定位作业
去掉语句里的@job_name参数即可:
EXEC msdb.dbo.sp_update_job @job_id='CD63A0B5-522C-495D-BED5-D9F900F71202', @new_name=N'NewJobName', @enabled=0, @description=N'The Description is now available.'
方式2:通过原作业名称@job_name定位作业
去掉语句里的@job_id参数即可:
EXEC msdb.dbo.sp_update_job @job_name=N'JobName', @new_name=N'NewJobName', @enabled=0, @description=N'The Description is now available.'
两种方式都能正常执行,选哪种取决于你更习惯用作业ID还是原作业名称来定位目标作业~
内容的提问来源于stack exchange,提问作者Naim Halai
相关产品推荐
相关产品推荐

