NB。我不想在向导中标记要删除的复选框。这个问题严格关于脚本行为。
当我运行以下脚本以重新开始时,我收到错误,因为数据库 Duck 目前正在使用中,因此无法将其删除。
use Master
drop database Duck
drop login WorkerLogin
drop login AdminLogin
go
尽管如此(尽管我是系统中当前唯一的用户而且我没有运行其他查询,但这是另一个故事),我需要关闭所有现有的连接。一种方法是等待它或重新启动管理器。但是我想在这种行为中编写脚本,这样我就可以告诉顽固的服务器删除鸭子了。 (是的,“拼写错误”。)
我需要在drop语句中添加什么内容?
答案 0 :(得分:5)
尝试以下代码。
USE master;
ALTER DATABASE [Duck] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [Duck] ;
如需深入讨论,请参阅this answer。
答案 1 :(得分:2)
在丢弃数据库之前,必须先杀死所有活动连接。
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
--do you stuff here
ALTER DATABASE YourDatabase SET MULTI_USER
http://wiki.lessthandot.com/index.php/Kill_All_Active_Connections_To_A_Database
How do you kill all current connections to a SQL Server 2005 database?
答案 2 :(得分:0)