SSIS包占用时间过长或最终失效



我在sql server 2008R2上部署了软件包,最近,我们迁移到一台新的服务器机器,部署了sql server 2012。我将包配置为项目部署模式,并且在10天内,所有包都可以顺利工作,执行时间与旧服务器相同。

从过去两天开始,包开始失败。我仔细检查了一下,发现他们花的时间比平时长,失败的原因是"TDS流协议错误,通信链路故障,远程主机强制关闭连接"。

当我尝试通过ssdt运行包时,它们可以成功运行,但我看到数据传输移动比我以前看到的要慢,因此包的执行时间更长。

我不确定,什么发生了变化。我在网上搜索了可能的原因,检查了服务器内存和数据包大小,并尝试与旧服务器匹配,但没有解决问题。我怀疑,SSIS日志可能有这个原因,但不确定如何检查?

请帮忙找出这个问题的原因。

**编辑:我在ssdt中启用了日志记录,可以看到大部分时间只用于行传输步骤。因为我的包有查找,我想查找可能会使它变慢。因此,将主查询复制到ssms,并在此服务器上作为普通查询运行。

在12分钟内返回了大约13L行。然后我在旧服务器上运行相同的查询,它在不到一分钟的时间内返回了13L行。因此,它可能证明问题在某种程度上与数据传输有关,而不是特定于包本身。有人能帮帮忙吗? **

检查解决方案连接,它应该是' RetainSameConnection '属性为'true'。这可以在连接管理器属性下的SSIS包和作业步骤属性(Configuration>连接管理器).

链接:http://www.sqlerudition.com/what-is-the-retainsameconnection-property-of-oledb-connection-in-ssis/

最新更新