如何延长SSIS脚本任务的超时时间,脚本内配置还是外部设置?
超时调整的两种路径,优先用外部配置,不需要改脚本
你碰到的10分钟超时默认不是SSIS脚本组件的限制,从你提供的代码来看,脚本内已经把WCF服务调用的四个超时参数都设为了5小时30分,远大于10分钟,因此优先排查外部配置项:
- 如果你是通过SQL Server Agent作业调度SSIS包:右键对应作业→选择「属性」→找到执行SSIS包的步骤→点击「编辑」→切换到「高级」选项卡,修改「执行超时值」,默认如果设置为600秒(10分钟)的话,直接改成你需要的时长,设置为0表示无超时限制。
- 如果是SSIS Catalog(SSISDB)执行的包:右键对应包→选择「执行」→切换到「高级」选项卡,调整「超时值」参数即可。
- 还有两类非SSIS的外部限制也会触发10分钟超时:
- 你调用的AX服务端默认的服务调用超时限制,需要在AX服务器的服务配置中调整调用超时参数
- 网络链路中的防火墙、负载均衡设备默认的TCP长连接10分钟断连规则,需要联系运维调整网络策略
确需调整脚本配置的修改方法
如果排查后确认是服务调用端的配置需要调整,只需要修改脚本中以下4行的TimeSpan参数即可,三个参数分别对应「小时,分钟,秒」,示例中为5小时30分,可按需调整:
bindingElement.OpenTimeout = new TimeSpan(5, 30, 0); bindingElement.CloseTimeout = new TimeSpan(5, 30, 0); bindingElement.SendTimeout = new TimeSpan(5, 30, 0); bindingElement.ReceiveTimeout = new TimeSpan(5, 30, 0);
修改完成后保存脚本编辑器的内容,关闭后重新保存SSIS包即可生效,不需要修改其他逻辑。
内容的提问来源于stack exchange,提问作者cicconej582
相关产品推荐
相关产品推荐

