我在SQL Server 2005中具有的操作系统(CmdExec)工序的作业设置。
步骤调用程序,可能需要很长的时间来运行。 我看到,如果该程序的时间超过1分40秒响应的步骤失败并显示错误消息“操作超时”。 该计划实际上继续运行,并产生预期的效果。
如何设置对这份工作步骤的超时时间。 或者,如果有设置整个作业,因为这是工作的唯一步骤,这将是同样有用的超时的方法。 如果一切都失败了,我会愿意改变超时为整个服务器,但是,显然这将是最后的手段。
我试图寻找到的步骤,作业的属性,和SQL Server代理,但还没有设法找到任何地方设置此选项。
SQL作业没有超时 - 你不能将它们配置为自行停止,如果他们运行的时间过长,或在时间到达一个特定点。 (的woulda,如果你能为我节省了大量的开发时间!),您可以配置的步骤检查时间或持续时间,并能编写几步之遥,采取检查时间的操作,但在作业或步骤的水平,没有。
这是什么使这个有趣的问题。 你为什么要得到一个超时? 根据你所说的,我猜想,SQL代理无法告诉操作系统已经收到您通过的CmdExec步发送“这样做”命令。 发送和等待之后,它认为工作永远不会启动并报告相应的(而且有隐藏的系统超时)。 怎么会这样呢? 你可以investingate安全配置或文件的访问权限,但我会通过审查的任何程序它是你开始了开始 - 一些关于它的气味腥给我。
web服务是你的答案。 正如菲利普指出,有没有超时在SQL Server作业步骤。
您可能需要问一个问题就是为什么Web服务超时。 根据我的经验,这个问题可能是你正在运行太大的请求,要么返回太长的结果或导致其他somerthing这是造成网络servce长期运行。
否则,你需要跟网络服务提供商延长时间了。