2008-11-24 55 views
3

下拋出異常:server.Databases [databaseName] .Drop();失敗在MSTest的

錯誤消息:Microsoft.SqlServer.Management.Smo.FailedOperationException:掉落失敗數據庫 '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

作爲一個猜測,我想知道你的連接池是否對你有效 - 即你之前在SqlConnection上執行了一些命令,這些命令現在正在被重複使用。你可以嘗試禁用池化? (連接字符串中的pooling = false,IIRC)。

此外 - 你有沒有仔細關閉所有的命令/連接/讀者等?理想情況下通過using?作爲最後的手段,你可以嘗試使用T-SQL從你的機器中殺死所有其他的spid - hacky,但它可能工作。

+0

確實如此。非常感謝。 – bovium 2008-11-24 21:02:58