解除sql server数据库占用

 

use master
go
declare @dbName nvarchar(50)
set @dbName='dbname' --数据库名
declare @spid nvarchar(20) 
declare cur_lock cursor for 
SELECT DISTINCT request_session_id FROM master.sys.dm_tran_locks WHERE resource_type = 'DATABASE' AND resource_database_id = db_id(@dbName)
open cur_lock 
fetch cur_lock into @spid 
while @@fetch_status=0 
begin 
exec( 'kill '+@spid) 
fetch Next From cur_lock into @spid
end 
close cur_lock
deallocate cur_lock

 

use master

go

declare @dbName nvarchar(50)

set @dbName='dbname' --数据库名

declare @spid nvarchar(20)

declare cur_lock cursor for

SELECT DISTINCT request_session_id FROM master.sys.dm_tran_locks WHERE resource_type = 'DATABASE' AND resource_database_id = db_id(@dbName)

open cur_lock

fetch cur_lock into @spid

while @@fetch_status=0

begin

exec( 'kill '+@spid)

fetch Next From cur_lock into @spid

end

close cur_lock

deallocate cur_lock

posted @ 2016-10-25 23:10  火军刀  阅读(815)  评论(0编辑  收藏  举报