【问题标题】:SSIS creates too much connections to DBSSIS 创建了太多与 DB 的连接
【发布时间】:2015-06-13 07:12:56
【问题描述】:

对于数据加载,我在 MSSQL 2012 上使用了 SSIS 包 (VS2010)。它将数据从 Sybase ASE (ODBC) 加载到 MSSQL 2012 (OLEDB)。一切正常,它使用了少量到 Sybase 的连接。

然后我在 MSSQL 2014 上将我的包迁移到 SSIS (VS2013),现在我遇到了一个奇怪的情况。

当我在 VS2013 中打开我的包时,它会为 devenv.exe 中的每个数据流步骤创建一个到 Sybase 的连接。接下来我运行我的包,它为每个数据流步骤从 DtsDebugHost.exe 创建一个连接,在运行期间它从 DtsDebugHost.exe 创建更多连接,几乎所有连接都处于“等待命令”状态。我有 250 个 Sybase 连接的许可限制,而我的包打破了这个限制。

为什么在 2014 SSIS 中会出现这种奇怪的行为?我该如何处理?

【问题讨论】:

    标签: sql-server ssis sybase


    【解决方案1】:

    为什么版本之间的差异,我没有答案。

    如果我冒险猜测,SSIS 正在尝试快速验证您的整个包,并正在打开多个连接并为每个连接分配验证工作。因此,并行验证与串行验证。

    解决方法是将 ASE 连接管理器上的 RetainSameConnection 属性设置为 True。这将阻止 SSIS 打开多个连接,而是强制所有内容使用一个连接。

    【讨论】:

    • Its not exactly my situation. I knew about RetainSameConnection and dont 完全使用它。我的包中有 26 个数据流任务。 MSSQL2012 和 VS 2010 上的 SSIS 使用一个 ODBC 连接管理器创建 26 个 sybase 连接,没关系。但是 MSSQL2014 和 VS2013 上的 SSIS 每次都会创建随机数量的连接,但总是比 26 大两倍。
    猜你喜欢
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2019-11-20
    • 2016-02-19
    • 2021-10-03
    • 1970-01-01
    相关资源
    最近更新 更多