删除 SQL Server 数据库

6

在转换过程中,我正在通过编程方式创建SQL Server数据库。如果转换代码失败,我想要删除/丢弃该数据库。如果我在SQL Server Management Studio 2005中使用数据库的快捷菜单,“删除”选项将被禁用。DROP DATABASE命令也会失败,并显示“无法删除数据库“XYZ”,因为它当前正在使用中”的消息。

我已经关闭并重新启动了SQL Server,但数据库仍无法删除。

有任何方向吗?

2个回答

14

我找到了以下可行的脚本:

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 - 我尝试了上述代码,理论上应该可以运行,但对我来说并没有起作用! - Ghost

0

你的对话需要多长时间?如果可以的话,也许你应该考虑使用事务。当你的对话失败时,只需回滚事务即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接