四时宝库

程序员的知识宝库

SQLServer数据库正在使用,所以无法获得对数据库的独占访问权

数据库 ' 库名' 已打开,并且一次只能有一个用户访问。 (Microsoft SQL Server,错误: 924)

解决方法:

登录MSSM工具后,执行以下命令:

USE master; 
GO 
DECLARE @SQL VARCHAR(MAX); 
SET @SQL='' 
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) 
FROM master..sysprocesses 
WHERE dbid=DB_ID('YC6Q_WOGEE60'); 
EXEC(@SQL); 
GO 
ALTER DATABASE YC6Q_WOGEE60 SET  MULTI_USER;

其中将YC6Q_WOGEE60改为你的数据库名。

在尝试还原数据库时,出现如下错误:

方案一:设置数据库在单用户模式下工作;

1、在数据库上右键“属性”:

2、“选项”->“限制访问”,选择“SINGLE_USER”

方案二:利用SQL语句,断开所有用户链接,并回滚所有事务,具体SQL语句如下:

ALTER DATABASE YC6Q_WOGEE60 SET OFFLINE WITH ROLLBACK IMMEDIATE
其中将YC6Q_WOGEE60改为你的数据库名。

关闭MSSM工具后,重新登录sa

执行还原:点击右键选择 任务--还原--数据库,参考:SQL Server 还原提示:备份集中的数据库备份与现有的 'X' 数据库不同-今日头条 (toutiao.com)

还原完毕后,如何数据库未连接,再执行:

ALTER  database  [数据库名]  set   online

方案三:利用SQL语句,杀死正在使用该数据库的所有进程;

USE master
go
DECLARE @Sql NVARCHAR(max)
SET @Sql=''
select @Sql=@Sql+'kill '+cast(spid as varchar(50))+';' from sys.sysprocesses where dbid=DB_ID('数据库名')
EXEC(@Sql)

CMD命令下登录数据库执行:

osql -S localhost -U sa -PWMSdb.test

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接