SQL Server代理,只能10秒执行一次?

不懂必须要问 2013-02-12 07:57:18
时间太长了,有没有短一点设置的。
...全文
363 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-02-16
  • 打赏
  • 举报
回复
之所以不能改为小于10秒,是因为调用了sp_verify_schedule,可以使用sp_helptext sp_verify_schedule来查看,里面有一句:
IF ((@freq_subday_type <> 0x1) AND (@freq_subday_interval < 1)) -- FREQSUBTYPE_ONCE and less than 1 interval
     OR
     ((@freq_subday_type = 0x2) AND (@freq_subday_interval < 10)) -- FREQSUBTYPE_SECOND and less than 10 seconds (see MIN_SCHEDULE_GRANULARITY in SqlAgent source code)
  BEGIN
    SELECT @reason = FORMATMESSAGE(14200, '@freq_subday_interval')
    RAISERROR(14278, -1, -1, @reason)
    RETURN(1) -- Failure
  END
其中定义了小于10秒就报错,我刚才试了,把这个10改成1秒,是可以的,然后再创建作业的时候,就可以改成9秒一次,不过不知道你敢不敢改而已。用图形化界面其实还是调用系统存储过程,所以你一直用sp_helptext '存储过程名'就可以看到它的算法。 另外,10秒有它的道理,一个作业过于频繁地执行,对服务器来说负担很重。应该考虑是否有这个必要。
發糞塗牆 2013-02-16
  • 打赏
  • 举报
回复
谁说只能10秒一次的?不是有周期选择的吗?
fishstone118 2013-02-16
  • 打赏
  • 举报
回复
写个Windows系统服务来控制吧 代理感觉不太灵活
不懂必须要问 2013-02-13
  • 打赏
  • 举报
回复
引用 1 楼 mayuanf 的回复:
SQL code?12345while 1=1begin exec xxxxx waitfor delay '00:00:01'end
这个一旦运行就无法停止的哦?
mayuanf 2013-02-12
  • 打赏
  • 举报
回复

while 1=1
begin
  exec xxxxx
  waitfor delay '00:00:01'
end

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧