我需要帮助设置在SINGLE_USER模式恢复到MULTI_USER的数据库。每次我奔跑

ALTER DATABASE BARDABARD
SET MULTI_USER;
GO

我得到这个错误:

目前不能更改数据库'BARDABARD'的状态或选项。 数据库处于单用户模式,当前有用户连接到数据库。

它需要在非SINGLE_USER模式下将其设置为另一种模式,但当它是SINGLE_USER模式时,我不能将数据库设置为任何其他模式。


当前回答

当我不知道用于切换到单用户模式的特定SPID时,下面的代码为我工作。

use master
GO

select 
    d.name, 
    d.dbid, 
    spid, 
    login_time, 
    nt_domain, 
    nt_username, 
    loginame
from sysprocesses p 
    inner join sysdatabases d 
        on p.dbid = d.dbid
where d.name = 'dbname'
GO

kill 52 -- kill the number in spid field
GO

exec sp_dboption 'dbname', 'single user', 'FALSE'
GO

其他回答

当我不知道用于切换到单用户模式的特定SPID时,下面的代码为我工作。

use master
GO

select 
    d.name, 
    d.dbid, 
    spid, 
    login_time, 
    nt_domain, 
    nt_username, 
    loginame
from sysprocesses p 
    inner join sysdatabases d 
        on p.dbid = d.dbid
where d.name = 'dbname'
GO

kill 52 -- kill the number in spid field
GO

exec sp_dboption 'dbname', 'single user', 'FALSE'
GO

SQL Server 2012:

右键单击DB > Properties > Options >[向下滚动]State > RestrictAccess >选择Multi_user,然后单击OK。

拖鞋!

我轻而易举地解决了这个问题

右键单击数据库名称,重命名它 更改后,右键单击数据库名称—>属性—>选项—>滚动限制性访问底部(SINGLE_USER到MULTI_USER) 现在,您可以再次将数据库重命名为您的旧名称。

如果上面的不起作用,找到spid的登录名并在Security - Logins中禁用它

这对我来说很有效

备份 创建新数据库并将备份恢复到该数据库 属性>选项>[向下滚动]状态>限制性访问>选择Multi_user,单击“确定” 删除旧数据库

希望这对所有人都有效 谢谢你! 拉梅什·库马尔