0

我有一个 SQL 代理作业,应该每天在规定的时间被解雇。如果我从 Management Studio 手动更改计划时间,它可以正常工作,但我需要使用存储过程更改时间,如下所示:

update s set
s.active_start_time = @time
from msdb..sysjobs j
left join msdb..sysjobschedules js on j.job_id = js.job_id
left join msdb..sysschedules s on js.schedule_id = s.schedule_id
where j.name = 'MyJobName'

你猜怎么着?运行此类程序后,当我在 Management Studio 中检查预定时间时,它已正确更新,但显然 Job 忽略了这一点。

我什至发现,该作业保留了手动设置的旧计划时间,并使用该时间运行 - 例如,如果我手动将时间设置为上午 10:45,然后使用程序快速将时间更改为上午 10:55 ,即使 Management Studio 中的计划时间看起来已更新,作业仍将在 10:45 运行...

有什么想法可能是错的吗?

4

0 回答 0