TCP 提供程序:信号量超时期限已在 SSIS 中到期

TCP Provider: The semaphore timeout period has expired in SSIS

有时在 SSIS 中将数据从 SQL 服务器加载到 SQL 服务器 2016(使用数据流)时,我会收到以下错误:

SE [[209]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Communication link failure". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "TCP Provider: The semaphore timeout period has expired. ".

[SSIS.Pipeline] Error: SE failed the pre-execute phase and returned error code 0xC0202009.

当我得到这个时,我找不到任何模式。有人遇到同样的问题并解决了吗?

我以前遇到过这个难解的问题并搜索了它,MSDN forum and SO question "how to resolve DTS_E_OLEDBERROR. in ssis"上唯一的概念。简而言之 - 问题与 SQL 服务器或其运行时环境的高负载有关。就我而言,在向 SQL 服务器添加更多 RAM 并配置 TCP window = 32767 后错误消失了;但是,我不相信这是治愈方法。