A veces por razones X de la vida necesitas terminar todas las conexiones de que un host tiene abiertas en una instancia SQL Server. Quizás necesitemos ejecutar procesos o realizar alguna tarea de mantenimiento para la que necesitamos asegurarnos de que no vamos a tener conexión que puedan interferir y molestar.
En este breve post os voy a dejar un script que, indicandole el hostname correspondiente, nos devuelve un comando kill para cada sesión asociada a ese hostname
Script para matar todas las sesiones de un hostname
Ejecutando la siguiente query con el hostname deseado recibireis todos los comandos kill para matar las sesiones asociadas a ese host.
select 'kill ' + cast(session_id as varchar(20)) from sys.dm_exec_sessions where host_name = 'MyHost';
Si lo necesitais, podeis añadir más opciones a la query como por ejemplo «AND status = ‘sleeping’;» que sólo matará las sesiones que están en estado sleeping.
Espero que esta query os haya podido ayudar.
y como lo ejecuto ejecuto el resultado del query
Simplemente ejecuta la query del articulo cambiando «host_name» por el nombre del host cuyas sesiones quieras matar.
Esto te dará los comandos kill asociadas a las sesiones de este host_name, copialas y pegalas en otra query y ejecutalas.