2011-08-13 6 views
2

Sql Serverのパワーシェルスナップイン(「SqlServerProviderSnapin100」、「SqlServerCmdletSnapin100」)を使用しています。私はpowershellを使ってスクリプトを実行しますが、それらを再度実行しようとすると、「パイプの反対側にプロセスがありません」という共有メモリエラーが発生します。私はPowershellを閉じて、それが再び動作する前に再起動する必要があります。powershellを使用しているときに完了時にSQL Server接続を閉じる方法は?

これは、PowerShellが接続を開いたままにしているため、スクリプトの再実行が妨げられているようです。

誰もこれを解決する方法を知っていますか?

ありがとうございました。

+0

一般に開いている接続はすべて閉じておくか、処分する必要があります。だから、この名前のメソッドを探してください。私はこのスナップインを知らないので、もっと具体的にすることはできません。 – stej

答えて

3

答えが見つかりました。

問題:ADO接続プールは、開かれた接続を保持しています。 SQL Serverは接続を閉じますが、プールはこれを認識しません。したがって、ADOは接続がまだ有効であると見なしますが、接続はまだ有効ではありません。

解決策:まず[System.Data.SqlClient.SqlConnection] :: ClearAllPools()を実行します。これにより、ADOがプール内で現在保持しているすべての接続が無効になり、例外が防止されます。

関連する問題