我正在 SQL Server 2008 中对我的架构进行积极开发,并且经常想要重新运行我的删除/创建数据库脚本。当我跑
USE [master] GO IF EXISTS (SELECT name FROM sys.databases WHERE name = N'MyDatabase') DROP DATABASE [MyDatabase] GO
我经常收到这个错误
Msg 3702, Level 16, State 4, Line 3 Cannot drop database "MyDatabase" because it is currently in use.
如果您在对象资源管理器窗格中右键单击数据库并从上下文菜单中选择删除任务,则会出现一个“关闭现有连接”的复选框
有没有办法在我的脚本中指定这个选项?
您可以通过以下方式断开每个人的连接并回滚他们的交易:
alter database [MyDatbase] set single_user with rollback immediate
之后,您可以安全地删除数据库:)