Cierre (KILL) todos los SPIDs conectados a una base de Datos

En el caso que se tienen que cerrar todas las conexiones a una base de datos de SQL Server, se puede usar un cursor y el comando KILL para cerrar las sesiones. En este caso, se incluye todos los SPIDs conectados a la base de datos en el cursor. Después se crea la cadena con KILL . Finalmente, se ejecuta el comando KILL para cerrar la conexión.
Debajo está el comando que usa LiteSpeed para terminar todas las sesiones antes de completar sus tareas.

--	Terminar sessiones en una base de datos
--	Ejecute desde master u otra base de datos
--	Cambie DB_NAME a la base de datos seleccionada 

--	Declarar un varchar 
DECLARE @cmdKill VARCHAR (50)

--	Popule el cursor con los SPIDs conectados a la base de datos
DECLARE killCursor 
CURSOR FOR
SELECT 'KILL ' + Convert(VARCHAR (5), p.spid )
FROM   master.dbo.sysprocesses AS p
WHERE  p.dbid = db_id( 'DB_NAME')

--	Abre el cursor 
OPEN killCursor
FETCH killCursor INTO @cmdKill

--	Termina todos los SPID conectados a esta base de datos
WHILE 0 = @@fetch_status
BEGIN
	EXECUTE (@cmdKill )
	FETCH killCursor INTO @cmdKill
END

--	Cierre el cursor
CLOSE killCursor
DEALLOCATE killCursor

Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *