杀死数据库进程

use  master
go
 
if  exists  (select  *  from  dbo.sysobjects  where  id  =  object_id(N'[dbo].[p_killspid]')  and  OBJECTPROPERTY(id,  N'IsProcedure')  =  1)
drop  procedure  [dbo].[p_killspid]
GO
 
create  proc  p_killspid
@dbname  varchar(200) --要关闭进程的数据库名
as     
declare  @sql    nvarchar(500)     
declare  @spid  nvarchar(20)
 
declare  #tb  cursor  for
select  spid=cast(spid  as  varchar(20))  from  master..sysprocesses  where  dbid=db_id(@dbname)
open  #tb
fetch  next  from  #tb  into  @spid
while  @@fetch_status=0
begin     
exec('kill  '+@spid)
fetch  next  from  #tb  into  @spid
end     
close  #tb
deallocate  #tb
go
 
--用法     
exec  p_killspid    '库'

 

 

posted @ 2013-01-10 10:28  小川丶  阅读(458)  评论(0编辑  收藏  举报