29
2024
01
12:25:17

“因为数据库在使用,所以无法获得对数据库的独占访问权”

在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权。(Microsoft.SqlServer.Smo)。出现此问题的原因是在还原数据库时,有其他用户正在使用数据库。还原数据库要求数据库工作在单用户模式。通常就是DBA在操作时,不允许其他用户连接数据库。

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

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

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

 3、还原数据库操作;

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

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

  还原完毕后再

1 ALTER  database  [数据库名]  set   online

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

复制代码
1 USE master2 go3 DECLARE @Sql NVARCHAR(max)4 SET @Sql=''5 select @Sql=@Sql+'kill '+cast(spid as varchar(50))+';' from sys.sysprocesses where dbid=DB_ID('数据库名')6 EXEC(@Sql)
复制代码

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





推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/4943.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: