Dicas SQL Server

SQL Server – Cursor para matar todos os processos.

Dicas SQL Server

Veja um cursor para matar todos os processos no SQL Server.

Lembrando que quando você executar esse script, verifique em qual ambiente está executando. Use com moderação.

CREATE TABLE #tempwhois 
  ( 
     spid     INT, 
     ecid     INT, 
     status   VARCHAR(150), 
     loginame VARCHAR(150), 
     hostname VARCHAR(150), 
     blk      INT, 
     dbname   VARCHAR(150), 
     cmd      VARCHAR(150) 
  ) 

INSERT INTO #tempwhois 
EXEC Sp_who 

DECLARE @spid INT 
DECLARE @tString VARCHAR(15) 
DECLARE @getspid CURSOR 

SET @getspid = CURSOR 
FOR SELECT spid 
    FROM   #tempwhois 
    WHERE  dbname = 'mydb' 

OPEN @getspid 
FETCH next FROM @getspid INTO @spid 
WHILE @@FETCH_STATUS = 0 
  BEGIN 
      SET @tString = 'KILL ' + Cast(@spid AS VARCHAR(5)) 
      EXEC(@tString) 
      FETCH next FROM @getspid INTO @spid 
  END 
CLOSE @getspid 
DEALLOCATE @getspid 
DROP TABLE #tempwhois 
go
SQL Server – Cursor para matar todos os processos.