在本地数据库上执行数据库部署(从 VS SQL Server 数据库项目)失败后,数据库一直处于单用户模式的状态(部署以单用户模式运行) .
当我从 SSMS 连接到它并尝试如下操作时:
ALTER DATABASE MyDatabase
SET MULTI_USER;
GO
我得到错误:
Changes to the state or options of database 'MyDatabase' cannot be made at this time. The database is in single-user mode, and a user is currently connected to it.
我尝试使数据库脱机,SSMS 告诉我成功了,但实际上它似乎没有做任何事情。到目前为止,我只能通过删除并重新创建数据库来解决这个问题(这没关系,因为它只是一个本地测试数据库)。但是,我希望能够重置状态。
我怎样才能说服 SQL Server 使这个数据库脱离单用户模式?
最佳答案
在 master 数据库中第一次运行查询
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
关于SQL Server 2008 R2 卡在单用户模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24608702/