如何使用RetainSameConnection=True关闭SSIS连接

如何使用RetainSameConnection=True关闭SSIS连接,ssis,connection,Ssis,Connection,我有一个ODBC连接,RetainSameConnection设置为True 我认为它在我的包完成后仍然是打开的,因为像MyTable中的selectcount(*)这样的简单查询直接从我的查询浏览器挂起 这听起来有可能吗?我如何证明我的理论?有没有办法在我完成SSIS后强制关闭此连接?我通过从MyTable中选择TOP 1*来反驳我的理论,该操作立即成功返回 奇怪的是,问题在于计数(*)实际上非常慢-当我添加一些子句(不影响任何记录)时,计数立即返回。子句更改了查询执行计划,以便使用主键。不知

我有一个ODBC连接,RetainSameConnection设置为True

我认为它在我的包完成后仍然是打开的,因为像MyTable中的
selectcount(*)这样的简单查询直接从我的查询浏览器挂起


这听起来有可能吗?我如何证明我的理论?有没有办法在我完成SSIS后强制关闭此连接?

我通过从MyTable
中选择TOP 1*来反驳我的理论,该操作立即成功返回

奇怪的是,问题在于
计数(*)
实际上非常慢-当我添加一些子句(不影响任何记录)时,计数立即返回。子句更改了查询执行计划,以便使用主键。不知道它为什么不用钥匙

-- Slooooow - 500K records
SELECT COUNT(*) FROM MyTable

-- Instant - 500K records
SELECT COUNT(*) FROM MyTable WHERE ColX > 0 AND ColY > 0

第一种可能导致表扫描,这意味着SQL Server需要从磁盘读取该表中的所有页面才能获得答案。第二种可能是允许SQL Server利用通常更窄的索引,从而减少IO请求等。我认为连接未关闭存在问题。。我试图在执行包后看到打开的连接,它显示了一个打开的连接。。我们需要解决这个问题。