在对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)
#方案三:修改数据库的登录密码;
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/4943.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~