如何分离正在使用的数据库?


14

即使没有使用它,我也无法分离数据库,因为它正在使用。

Cannot detach the database 'DEMO' because it is currently in use.

我尝试重新启动并收到相同的消息。

Answers:


17
--Kick all users off of the database NOW
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE

--Kick all but after 60 seconds
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK AFTER 60 SECONDS

--restore connection to users
ALTER DATABASE YourDatabase SET MULTI_USER

12

分离时是否尝试检查“ Drop Connections”框?


我希望有更多与查询相关的解决方案。Server Management Studio Express经常导致我的机器蓝屏。因此,我正在使用一种仅将查询发送到服务器的工具。
杰克B尼姆布尔

蓝屏通常与硬件或操作系统级别的问题有关,而与某些非常特定的应用程序(例如数据库管理工具)无关。我无法想象为什么这个特定程序会使您的计算机崩溃,但这绝对是一些潜在的严重问题的征兆。
马西莫2009年

它是Visual Studio和Server Management Studio Express的某种组合,因为我已经在3个不同的工作站上看到了这种行为。这可能是因为一次运行多个版本的Visual Studio,我知道这会在使用选项卡时在IE7中引起奇怪的行为。
杰克B敏捷

1
  1. 与服务器断开连接。
  2. 重新启动SQL Server服务以关闭所有连接。
  3. 使用Windows身份验证登录。
  4. 轻松分离数据库。


0

此命令应删除所有连接,然后允许您断开连接。

带有ROLLBACK_IMMEDIATE的ALTER DATABASE SET SINGLE_USER

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.