SSIS 包需要很长时间或最终失败

Posted

技术标签:

【中文标题】SSIS 包需要很长时间或最终失败【英文标题】:SSIS package takes long time or fail eventually 【发布时间】:2021-12-11 04:26:51 【问题描述】:

我在 sql server 2008R2 上部署了包,最近,我们迁移到了一台新的服务器机器,使用 sql server 2012 部署。我将包配置为项目部署模式,10 天后,所有包都运行良好,执行在相同范围的旧服务器中的时间。

从前两天开始,包裹开始出现故障。仔细查看后发现,比平时花费的时间更长,并且由于“TDS流中的协议错误,通信链路故障和远程主机强行关闭连接”而失败。

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

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

请帮助确定此问题的原因。

**编辑:我启用了登录 ssdt 并且可以看到大部分时间仅用于行传输步骤。由于我的包裹有查找功能,我认为查找功能可能会以某种方式使其变慢。因此将主查询复制到 ssms 并在此服务器上作为普通查询运行。

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

【问题讨论】:

您的问题很可能是由 TLS 和密码套件引起的。在这里查看:community.ir.com/t5/General/… 你能详细说明一下吗? 您需要在两台服务器上运行 IIS Crypto,并比较 TLS 协议和密码套件设置。 【参考方案1】:

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

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

【讨论】:

谢谢。我测试了这个建议,性能没有任何提升,数据传输速度很慢。正如我所提到的,即使在现有设置、某些内容发生更改或阻塞的情况下,软件包在 10 天内运行绝对正常且流畅,没有出现任何故障。 能看一下控制流吗? sqlmag.com/sql-server-integration-services/… 另外,考虑性能调整。 simple-talk.com/sql/ssis/… 迁移后服务帐号有变化吗?

以上是关于SSIS 包需要很长时间或最终失败的主要内容,如果未能解决你的问题,请参考以下文章

使用 SSIS 2008 自动生成 s-s-rS 2008 报告

SSIS 在本地运行但在服务器上失败

更改 SQL 列的数据类型时更新 SSIS 包

从 SQL 代理运行时 SSIS 脚本任务失败

即使输入数据错误,SSIS 包也不会失败

解包依赖项需要很长时间