我需要帮助设置在SINGLE_USER模式恢复到MULTI_USER的数据库。每次我奔跑
ALTER DATABASE BARDABARD
SET MULTI_USER;
GO
我得到这个错误:
目前不能更改数据库'BARDABARD'的状态或选项。 数据库处于单用户模式,当前有用户连接到数据库。
它需要在非SINGLE_USER模式下将其设置为另一种模式,但当它是SINGLE_USER模式时,我不能将数据库设置为任何其他模式。
我需要帮助设置在SINGLE_USER模式恢复到MULTI_USER的数据库。每次我奔跑
ALTER DATABASE BARDABARD
SET MULTI_USER;
GO
我得到这个错误:
目前不能更改数据库'BARDABARD'的状态或选项。 数据库处于单用户模式,当前有用户连接到数据库。
它需要在非SINGLE_USER模式下将其设置为另一种模式,但当它是SINGLE_USER模式时,我不能将数据库设置为任何其他模式。
当前回答
你不能这样做,因为数据库在单一模式下。好的,但你应该知道:当你打开sql management studio时,它不知道数据库上的任何用户,但当你点击数据库时,它认为你是单个用户,你的命令不工作。 只要这样做:关闭管理工作室,然后重新打开。新的查询窗口无需选择任何数据库编写命令脚本。
USE [master];
GO
ALTER DATABASE [tuncayoto] SET MULTI_USER WITH NO_WAIT;
GO
使f5 wolla一切正常!
其他回答
“用户当前连接到它”可能是SQL Server Management Studio窗口本身。尝试选择主数据库并再次运行ALTER查询。
我轻而易举地解决了这个问题
右键单击数据库名称,重命名它 更改后,右键单击数据库名称—>属性—>选项—>滚动限制性访问底部(SINGLE_USER到MULTI_USER) 现在,您可以再次将数据库重命名为您的旧名称。
我在谷歌上搜索了一段时间,最终找到了下面的解决方案,
SSMS通常在幕后使用到数据库的多个连接。
在更改访问模式之前,您需要终止这些连接。(我用EXEC(@kill)做过;在下面的代码模板中。)
然后,
运行以下SQL将数据库设置为MULTI_USER模式。
USE master
GO
DECLARE @kill varchar(max) = '';
SELECT @kill = @kill + 'KILL ' + CONVERT(varchar(10), spid) + '; '
FROM master..sysprocesses
WHERE spid > 50 AND dbid = DB_ID('<Your_DB_Name>')
EXEC(@kill);
GO
SET DEADLOCK_PRIORITY HIGH
ALTER DATABASE [<Your_DB_Name>] SET MULTI_USER WITH NO_WAIT
ALTER DATABASE [<Your_DB_Name>] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
要切换回单用户模式,您可以使用:
ALTER DATABASE [<Your_DB_Name>] SET SINGLE_USER
这应该有用。编码快乐! !
谢谢! !
转到数据库属性 并将单用户模式改为多用户模式
注意: 如果它不工作,然后采取数据库备份和恢复,再做上述方法
* 单身= SINGLE_USER
多个= MULTI_USER
限制= RESTRICTED_USER
在超过3次使用SQL Server 2014的情况下,我有一个数据库转换为单用户模式,而我没有做任何改变。它一定是在数据库创建过程中以某种方式发生的。上面所有的方法从来没有工作过,因为我总是收到一个错误,数据库处于单用户模式,无法连接到。
我唯一要做的就是重新启动SQL Server Windows服务。这允许我连接到数据库并进行必要的更改,或者删除数据库并重新开始。