在转换过程中,我正在通过编程方式创建SQL Server数据库。如果转换代码失败,我想要删除/丢弃该数据库。如果我在SQL Server Management Studio 2005中使用数据库的快捷菜单,“删除”选项将被禁用。DROP DATABASE命令也会失败,并显示“无法删除数据库“XYZ”,因为它当前正在使用中”的消息。
我已经关闭并重新启动了SQL Server,但数据库仍无法删除。
有任何方向吗?
在转换过程中,我正在通过编程方式创建SQL Server数据库。如果转换代码失败,我想要删除/丢弃该数据库。如果我在SQL Server Management Studio 2005中使用数据库的快捷菜单,“删除”选项将被禁用。DROP DATABASE命令也会失败,并显示“无法删除数据库“XYZ”,因为它当前正在使用中”的消息。
我已经关闭并重新启动了SQL Server,但数据库仍无法删除。
有任何方向吗?
我找到了以下可行的脚本:
ALTER DATABASE [dbname]
SET SINGLE_USER --or RESTRICTED_USER
WITH ROLLBACK IMMEDIATE;
GO
DROP DATABASE [dbname];
GO
可能存在一些未完成的事务导致无法删除。问题已解决。
你的对话需要多长时间?如果可以的话,也许你应该考虑使用事务。当你的对话失败时,只需回滚事务即可。