sql - 如何删除当前正在使用的数据库?

标签 sql sql-server

注意。我不想将向导中的复选框标记为删除。这个问题的严格关于编写行为脚本。

当我运行以下脚本以重新开始时,出现数据库 Duck 无法删除的错误,因为它当前正在使用中。

use Master
drop database Duck
drop login WorkerLogin
drop login AdminLogin
go

尽管如此(即使我是系统中当前唯一的用户并且我没有运行其他查询,但这是另一回事),我需要关闭所有现有连接。一种方法是等待它或重新启动管理器。但是,我想在该行为中编写脚本,以便我可以告诉顽固的服务器放下鸭子。 (是的,“错别字”的意思。)

我需要在 drop 语句中添加什么?

最佳答案

试试下面的代码。

USE master;
ALTER DATABASE [Duck] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [Duck] ;

深入讨论见this answer .

关于sql - 如何删除当前正在使用的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33890085/

相关文章:

SQL Server : Find most popular category of products bought per user for use in subquery

sql - 我可以为 varbinary 的最大大小设置 2 MB 吗?

sql-server - 除以2个整数时如何在SQL中获得百分比?

sql - 哪些软件包可用于在LaTeX中排版SQL?

sql - 如何在 ORACLE SQL 上查看来自 .GZ 文件格式的数据?

mysql - 如何在 MySQL 中返回 1 个特定值的项目和所有其他具有左连接的项目而不加倍?

sql - 从 SQL Server 中的 VARCHAR 中删除非数字字符的最快方法

sql - 在 TSQL 中检查两个日期时间是否在同一日历日的好方法是什么?

SQL CASE 语句 - 缺少运算符错误

php - 高效查询