我在轉換過程中以編程方式創建SQL Server數據庫。如果轉換代碼失敗,我想刪除/刪除數據庫。如果我在SQL Server Management Studio 2005中使用數據庫的快捷菜單,則「刪除」選項將被禁用。 DROP DATABASE命令也失敗,並顯示消息「Can not drop database」XYZ「,因爲它當前正在使用中。」刪除SQL Server數據庫
我已關閉並重新啓動SQL Server,並且數據庫不會丟失。
任何方向?
我在轉換過程中以編程方式創建SQL Server數據庫。如果轉換代碼失敗,我想刪除/刪除數據庫。如果我在SQL Server Management Studio 2005中使用數據庫的快捷菜單,則「刪除」選項將被禁用。 DROP DATABASE命令也失敗,並顯示消息「Can not drop database」XYZ「,因爲它當前正在使用中。」刪除SQL Server數據庫
我已關閉並重新啓動SQL Server,並且數據庫不會丟失。
任何方向?
一個新的搜索發現,工作下面的腳本:
ALTER DATABASE [dbname]
SET SINGLE_USER --or RESTRICTED_USER
WITH ROLLBACK IMMEDIATE;
GO
DROP DATABASE [dbname];
GO
一定是一些被停止下降打開的事務。問題解決了。
你的對話需要多長時間..也許你應該考慮使用交易,如果這是一個選項。當您的對話失敗時,請將事務回滾。
如果這段代碼不起作用,請參考這裏:https://stackoverflow.com/questions/48475066/unable-to-drop-database-in-sql-server-20120 - 我試過了上面的代碼,理想情況下這段代碼應該工作,但它不適合我! – 2018-01-27 11:01:26