프로그래밍/MSSQL\스크립트
[MSSQL] 특정 계정으로 로그인된 모든 세션 Kill
Mr.Jo
2012. 4. 29. 13:00
작동버젼 : MSSQL 2000 이상
사용방법 : [로그인명] 수정 후
주의사항 : Kill해서는 안되는 접속이 있지 않은지 확인 필요
설 명 : 직접 사용 보다는 응용하여 사용하는 경우가 더 많음
USE master; GO DECLARE @LoginName nvarchar(218); SET @LoginName = '[로그인명]'; DECLARE @Query nvarchar(4000); DECLARE @SPID int; DECLARE Kill_Cursor CURSOR FOR SELECT SPID FROM master.dbo.sysprocesses WHERE SPID <> @@SPID AND loginame = @LoginName; OPEN Kill_Cursor; FETCH Kill_Cursor INTO @SPID; WHILE @@FETCH_STATUS = 0 BEGIN SET @Query = 'KILL ' + CONVERT(varchar, @SPID) + ';'; PRINT @Query; EXECUTE sp_executesql @Query; FETCH Kill_Cursor INTO @SPID; END; CLOSE Kill_Cursor; DEALLOCATE Kill_Cursor; GO