SQL Server 断开某个数据库所有连接(还原的时候需要)

时间:2021-06-05 22:30:08

问题描述:

SQL Server数据库备份还原后,在数据库名称后会出现“受限制访问”字样

解决办法:

右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Multiple -> 确定。

问题描述:

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

解决办法:

方法一(最方便):右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Single-> 确定。然后还原。

方法二(最直接):断开数据库连接

方法三(最暴力):注销/重启数据库服务器

方法四(最麻烦):写代码修改数据库相关属性,虽然麻烦,有的时候还是要用到,那就用到的时候再研究。

SQL Server 断开某个数据库所有连接(还原的时候需要)

USE master
GO
ALTER DATABASE [DBName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
--查看是否还有用户连接
SELECT * FROM sys.[sysprocesses] WHERE DB_NAME([dbid])='DBName'
GO
ALTER DATABASE [DBName] SET MULTI_USER 
GO