您的位置:首页 > 数据库

查找当前SQL Server下的Active Session正连接着哪个数据库

2015-06-26 15:17 375 查看
今天碰到个事。原本想把数据库设为单用户模式然后把REMOVE FILE。没想到悲剧了。因为很多进程都是需要远程连接这个库,导致别的进程抢在我前面连接了这个数据库,反到我连不上了。想把数据库切回MULTI_USER模式都做不了。老是报错说deadlock。这下我就急了。好在是开发环境。那解决办法就是找到那条占用了单用户进程的session然后kill掉它。调用下sp_who这个存储过程。然后马上切回MULTI_USER。

if object_id('tempdb..#t') is not null
drop table #t
go

create table #t(spid int, ecid int, status varchar(100), loginame varchar(1000),
hostname varchar(1000), blk int, dbname sysname null, cmd varchar(1000), request_id int)

insert #t
exec sp_who

select * from #t where dbname like '%MyDB%'

--kill 55
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: