×

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

hqy hqy 发表于2024-01-29 12:25:17 浏览585 评论0

抢沙发发表评论

在对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://www.jinbel.cn/post/4943.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏

群贤毕至

访客

您的IP地址是: