小编典典

SQL Server 2008 R2卡在单用户模式下

sql

在本地数据库上执行了从VS SQL Server数据库项目执行的DB部署失败后,该数据库处于保留了单用户模式的状态(部署以单用户模式运行)。

当我从SSMS连接到它并尝试执行以下操作时:

ALTER DATABASE MyDatabase
SET MULTI_USER;
GO

我得到了错误:

目前无法更改数据库“ MyDatabase”的状态或选项。数据库处于单用户模式,并且当前有用户连接到该数据库。

我尝试使数据库脱机,SSMS告诉我成功了,但是它似乎并没有做任何事情。到目前为止,我只能通过删除并重新创建数据库来解决此问题(这可以,因为它只是本地测试数据库)。但是,我希望能够重置状态。

如何说服SQL Server使该数据库脱离单用户模式?


阅读 190

收藏
2021-04-15

共1个答案

小编典典

在第一次运行时,在主数据库中进行以下查询

exec sp_who

如果找不到元凶,请尝试

SELECT request_session_id FROM sys.dm_tran_locks 
WHERE resource_database_id = DB_ID('YourDatabase')

然后使用以下查询杀死所有使用数据库的进程:

KILL spid

然后运行以下查询:

USE Master
ALTER DATABASE YourDatabase SET MULTI_USER
2021-04-15