一个生产环境,一个线上的环境,在线上环境出现的数据问题在生产环境中没有出现,因此需要将线上的数据库还原到生产环境,但是每次还原的时候总是出现 辞数据库正在使用,无法还原,但是肉眼是看不到,所以需要查询出来数据库连接并且强制断开。
1、查询 SQL server 允许同时连接的用户的最大数
SELECT @@MAX_CONNECTIONS
2、查询指定数据库的当前连接信息
SELECT * FROM master.dbo.sysprocesses WHERE dbid IN ( SELECT dbid FROM master.dbo.sysdatabases WHERE NAME='YourDataBaseName' --指定的数据库名字 )
或者
SELECT * FROM master.dbo.sysprocesses WHERE DB_NAME(dbid) = 'YourDataBaseName'
表master.dbo.sysprocesses中各字段意义 见 http://www.cnblogs.com/buaaboyi/archive/2010/04/06/1705142.html
3、强制关闭 SQL server 中数据库连接
kill 54 --54是spid 即 SQL Server session ID.