我正在使用Sql Server powershell管理单元(即“SqlServerProviderSnapin100”,“SqlServerCmdletSnapin100”)。我使用powershell执行脚本,但是当我尝试再次执行它们时,我得到一个“没有进程在管道的另一端”共享内存错误。我需要关闭Powershell,并在它再次运行之前重新启动它。
似乎powershell保持连接打开,这阻止了脚本的重新执行。
有谁知道如何解决这个问题?
感谢。
答案 0 :(得分:4)
我找到了答案。
问题:ADO连接池在打开后保持连接。 Sql Server关闭连接,但池不知道这一点,因此,ADO假定连接仍然有效,但事实并非如此。
解决方案:首先执行[System.Data.SqlClient.SqlConnection] :: ClearAllPools()。这会使ADO当前在池中保留的所有连接无效,并防止该异常。