杀掉连接数据库的所有链接, 在恢复数据库前使用

本文介绍了如何在SQL Server中使用存储过程终止特定数据库的进程,包括设置ANSI_NULLS和QUOTED_IDENTIFIER选项,定义存储过程并使用系统存储过程sysprocesses来查找并终止指定数据库的进程。
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER   Procedure   [dbo].[killspid]   (@dbname   varchar(20))
as
begin
declare   @sql   nvarchar(500)
declare   @spid   int
declare @c cursor  --定义游标
set @c=cursor forward_only for
select   spid   from   sysprocesses   where   dbid=db_id( @dbname)
open @c
--exec   (@sql)
fetch next from @c into @spid
--open   getspid
--fetch   next   from   getspid   into   @spid
while   @@fetch_status = 0
begin
EXEC ('KILL ' + @spid )
fetch next from @c into @spid
end
close @c
deallocate @c
end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值