【sql server】“因为数据库正在使用,所以无法获得对数据库的独占访问权” 解决方案汇总

时间:2021-12-06 21:19:14

#事故现场:

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

【sql server】“因为数据库正在使用,所以无法获得对数据库的独占访问权” 解决方案汇总

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

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

【sql server】“因为数据库正在使用,所以无法获得对数据库的独占访问权” 解决方案汇总

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

【sql server】“因为数据库正在使用,所以无法获得对数据库的独占访问权” 解决方案汇总

【sql server】“因为数据库正在使用,所以无法获得对数据库的独占访问权” 解决方案汇总

3、还原数据库操作;

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

 ALTER DATABASE [数据库名称]  SET OFFLINE WITH ROLLBACK IMMEDIATE

  还原完毕后再

 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)

#方案三:修改数据库的登录密码;

【sql server】“因为数据库正在使用,所以无法获得对数据库的独占访问权” 解决方案汇总

————————————————————————————————————————————————————————