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;
这样通常可以快速中止进程,释放资源。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)