2011-05-04 115 views

回答

3

选择每天发生一次,每10秒运行一次。尽管请记住,如果您的作业比指定的运行时间长,代理将不会再次调用它,直到正在运行的任务完成。

请参阅下面的注释。 UI工具不允许少于10秒的输入。在你的情况下,你可以安排两个工作任务抵消若干秒。然后问题是作业可能重叠,因为它们是独特的任务,只要SQL代理知道。

SQL Agent

+0

谢谢,我也是这样做的,但是这样会每10秒调用一次作业(如果作业时间少于10秒),是否有可能使作业调用之间的时间间隔小于10秒? – scatterbraiin 2011-05-04 12:55:49

+0

哇...你是对的,这个工具不允许你缩小它。你应该编辑原来的帖子提及! =) – Yuck 2011-05-04 12:58:08

0

我试图做类似(SQL Server job with prcise timing)的东西,但我发现的唯一reliabile办法就是自定义Windows服务执行SQL语句。

+0

我想这是没有办法的,但是你可以通过让循环与WAITFOR DELAY同步来达到结果。当然,不是我想要的,但结果可能是相同的 – scatterbraiin 2011-05-04 15:13:11

+0

我试过了一个脚本“WHILE 0 = 0 BEGIN EXEC MyProc; WAITFOR DELAY'00:00:05'END”但它仍然必须从一些处理。如果在“MyProc”期间发生一些致命错误,脚本将结束。事后你仍然需要一些机制来重新执行脚本。 – TcKs 2011-05-04 15:37:09

+0

我做了一个每10秒钟发生一次的工作,它执行“WHILE 0 = 0 BEGIN EXEC MyProc; WAITFOR DELAY'00:00:05'; END类型的脚本,当然这不是一个好的解决方案。 – scatterbraiin 2011-05-06 09:22:14