代码改变世界

MS SQL作业Schedule的限制注意事项

2017-09-18 11:47  潇湘隐者  阅读(955)  评论(4编辑  收藏  举报

 

最近遇到了一个关于MS SQL作业Schedule下有限制的特殊案例,有一个作业,用户要求执行的时间为:9:30,14:30,16:30, 19:00,于是我设置了两个Schedule,其中一个每隔5小时执行一次,时间范围为9:30~  14:30.另外一个作业的Schedule为每隔150分钟执行,时间范围16:30 ~ 19:00, 结果设置后,用户反馈作业并没有在19:00执行,而是18:10执行了,我去检查,使用SSMS客户端(2014)打开检查时,发现设置每隔150分钟后,点击保存时,这个值会自动变为100。对,你没有看错,不信的可以自己测试一下

 

 

clip_image001

 

登录服务器上去检查(数据库为Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64)),点击编辑Schedule,发现报如下错误.而且根本无法编辑, 只能删除Schedule,然后新增一个,

 

Value of '100' is not valid for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.

Parameter name: Value (System.Windows.Forms)

 

 

clip_image002

 

 

结果发现在SQL Server 2008 R2下的Schedule,你会发现,SSMS 2008客户端编辑,单位为分钟下,这个值不能超过60,而SQL Server 2014下这个值不能超过100

 

 

clip_image003

 

 

clip_image004

 

 

这个是一个非常奇葩的限制,不知这样的限制是出于什么样的初衷?相信很多人像我一样,都没有注意到SQL Server作业的Schedule有这样一些限制。特此记录一下这个案例!