使用PowerShell时如何在完成时关闭sql server连接?

时间:2011-08-13 21:15:30

标签: sql-server powershell

我正在使用Sql Server powershell管理单元(即“SqlServerProviderSnapin100”,“SqlServerCmdletSnapin100”)。我使用powershell执行脚本,但是当我尝试再次执行它们时,我得到一个“没有进程在管道的另一端”共享内存错误。我需要关闭Powershell,并在它再次运行之前重新启动它。

似乎powershell保持连接打开,这阻止了脚本的重新执行。

有谁知道如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:4)

我找到了答案。

问题:ADO连接池在打开后保持连接。 Sql Server关闭连接,但池不知道这一点,因此,ADO假定连接仍然有效,但事实并非如此。

解决方案:首先执行[System.Data.SqlClient.SqlConnection] :: ClearAllPools()。这会使ADO当前在池中保留的所有连接无效,并防止该异常。