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

问题描述:

         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

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