数据库 ***已打开,并且只能允许一个用户访问(MSSQL)的解决办法


一、产生原因

1 手动设置:昨天在做数据库还原的时候,习惯把当前数据的项目设置为 “单用户” 模式。
2 数据库断电,其它异常启动 都会导致数据库变为”单用户”模式。
3 是否有系统设置的任务,导致数据库变为“单用户”模式。

当设置单用户时,系统会自动将其他连接关闭

数据设置为单用户方式如下图所示:
  MSSQL设置单用户方法
截图(当设置成功后,我们可以通过数据库管理器查看设置后的效果):
MSSQL单用户数据库效果图


二、解决办法

打开查询分析

2.1 use master
2.2
select database_id,* from sys.databases where name =’数据库名’
//获取 database_id
2.3
sp_lock
//获取当前进程列表中 dbid =database_id
2.4
采用 kill 销毁进程
2.5
sp_dboption ‘数据库名’,’single user’,’false’
//设置数据库单用户属性为 ”false”