3

次の例外がスローされます。

エラーメッセージ:Microsoft.SqlServer.Management.Smo.FailedOperationException:Drop failed forDatabase'4d982a46-58cb-4ddb-8999-28bd5bb900c7'。---> Microsoft.SqlServer.Management.Common.ExecutionFailureException:Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。---> System.Data.SqlClient.SqlException:データベース "4d982a46-58cb-4ddb-8999-28bd5bb900c7"は現在使用中のため、削除できません。

これを引き起こした原因は何ですか?

SMO関数を呼び出して、実行中のTransact-SQLステートメントを完成させることはできますか?

4

2 に答える 2

6

開いているすべての接続を閉じるServer.KillDatabase(string database)メソッドを使用します。

于 2008-11-26T01:48:28.897 に答える
4

推測として、接続プールがあなたにカウントされているのではないかと思います。つまり、以前にいくつかのコマンドを実行したSqlConnectionことがありますが、現在は再利用のために保持されています。プーリングを無効にしてみてください。(接続文字列のpooling = false、IIRC)。

また、すべてのコマンド/接続/リーダーなどを注意深く閉じていますか?理想的にはusing?最後の手段として、T-SQLを使用して、マシンから他のすべてのspidを強制終了することもできますが、うまくいく可能性があります。

于 2008-11-24T20:47:50.283 に答える