小编典典

退出单用户模式

all

目前,我的数据库处于单用户模式。当我尝试扩展我的数据库时,我收到一个错误:

无法访问数据库“my_db”。(ObjectExplorer)

另外,当我尝试删除数据库时,我收到错误:

此时无法更改数据库“my_db”的状态或选项。数据库处于单用户模式,并且当前有一个用户连接到它。

如何退出单用户模式?我没有任何用户使用这个数据库。

当我尝试使用 IIS 浏览我的网站时,我得到的错误是:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

我觉得好像是单用户模式导致了这种情况。


阅读 100

收藏
2022-05-25

共1个答案

小编典典

SSMS 通常在后台使用多个连接到数据库。

在更改访问模式之前,您需要终止这些连接。

首先,确保对象资源管理器指向一个系统数据库,如 master。

其次,执行 asp_who2并查找到数据库“my_db”的所有连接。KILL { session id }通过执行where session id
isSPID列出的来终止所有连接sp_who2

第三,打开一个新的查询窗口。

执行以下代码。

-- Start in master
USE MASTER;

-- Add users
ALTER DATABASE [my_db] SET MULTI_USER
GO

请参阅我关于管理数据库文件的博客文章。这是为移动文件而编写的,但用户管理是相同的。

2022-05-25