怎么删除一个应用数据库的所有进程

怎么删除一个应用数据库的所有进程,第1张

CREATE PROCEDURE usp_sys_killallprocesses AS

DECLARE @SPID INT,

@SQL VARCHAR(20)

DECLARE CURSOR_BLOCKED CURSOR LOCAL

FOR

SELECT SPID FROM MASTER..SYSPROCESSES WITH(NOLOCK) WHERE SPID <>@@spid --不杀掉自己

OPEN CURSOR_BLOCKED

FETCH CURSOR_BLOCKED INTO @SPID

WHILE @@FETCH_STATUS = 0

BEGIN

IF @SPID >50 --非系统进程

BEGIN

SET @SQL = 'KILL ' + CONVERT(VARCHAR(10),@SPID)

EXECUTE( @SQL )

END

FETCH CURSOR_BLOCKED INTO @SPID

END

CLOSE CURSOR_BLOCKED

DEALLOCATE CURSOR_BLOCKED

GO

为了更快速的释放资源,通常我们使用如下步骤来Kill进程:

1.首先在 *** 作系统级kill进程;

2.在数据库内部kill session;

这样通常可以快速中止进程,释放资源。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6700071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存