首页 > 其他 > 详细

共用计划调度

时间:2015-02-27 22:43:46      阅读:296      评论:0      收藏:0      [点我收藏+]

起因:死锁检查作业(更应该说是阻塞检查作业)将作业A kill掉,实际阻塞情况并不严重。刚好作业A运行的时间点,死锁检查作业也会运行,于是想修改作业A的计划调度以避开与死锁检查作业同时运行。作业A的计划调度修改后,发现作业B的计划调度也跟着改变了(根据随笔获取指定时间区间作业运行情况查看得出)。
查看作业A、B详细信息,发现两个作业的计划调度是一样的。为什么会出现这种情况,应该是利用作业A生成的脚本创建作业B时,仅仅修改了作业名称、作业步骤,而作业调度还是使用作业A的,因此两个作业共用了一个计划调度。
影响:修改任一作业的计划调度会影响另一作业的计划调度,对执行时间有特别要求的作业会有影响。
解决方案:语句检查是否存在共用计划调度的作业

 1 --语句检查是否存在共用计划调度的作业
 2 select top 100 a.name,b.schedule_id,c.schedule_uid,c.name from msdb.dbo.sysjobs a
 3 inner join msdb.dbo.sysjobschedules b
 4 on a.job_id=b.job_id
 5 inner join msdb.dbo.sysschedules c
 6 on b.schedule_id=c.schedule_id
 7 inner join (
 8 select schedule_id from msdb.dbo.sysjobschedules 
 9 group by schedule_id
10 having COUNT(*)>1) d
11 on b.schedule_id=d.schedule_id
12 order by schedule_id

对于存在共用计划调度的作业,可删除调度再创建新调度。

共用计划调度

原文:http://www.cnblogs.com/Uest/p/4304400.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!