SSIS: RetainSameConnection 属性。

最近写了一篇 一步步教你使用临时表的 文章,其中有一步时 设置 OLE DB Connection 的 RetainSameConnection属性为true的操作。 这个 属性到底代表什么意思呢?

RetainSameConnection 属性:

RetainSameConnection 属性是 OLE DB Connection 的一个属性。通过设置其值可以控制package 时候每执行一个task就要建立/释放一个OLE DB 链接。

它的默认值是 False.

代表SSIS 执行引擎 将为每一个task 打开一个新的OLE DB Connection, 并在该task 执行完成之后关闭该Connection.

 

它的隐藏含义应该是不保存不必要的链接,及时释放链接,下次需要时再重新建立。换句话说,就是一些 package可能运行很长时间,我们并不需要一直保持该链接直到package运行完成。举个例子,解析文本文件,发送邮件,ETL 操作 等等,这些并不需要 OLD DB server 的操作。

释放链接,除非真的必要,这在繁忙的服务器上面肯定有所助益。因为每一个打开的链接都会占用SQL Server 一些内存。

 

设置为True的情况:

把属性设置为true. 在这种情况下,Package 将只打开一个 该OLE DB 链接,一直到package运行完成,才释放该链接。

一些情况下,我们需要保存持久的链接。例如:跨多个task使用临时表 等等。除了临时表重用,该属性设置为True也可以有效的管理事务和减少对链接到服务器的请求。

 

这个属性可以 在OLE DB connection manager 的属性窗口设置,你可以参考下图进行设置。

 

结论:

  在大多情况下,RetainSameConnection的默认值设置为False会比较合适。开发人员应该决定是否该packages是否真的需要一个持久的链接。

 

如果该解决方案帮助了你,请帮忙顶一下,非常感谢。 :D

版权声明: 如有引用,请注明引用出处,保留该博客所有版权。

原文地址:https://www.cnblogs.com/HlxDo/p/5155570.html