Gran parte de mi problema fue usar conexiones agrupadas; en este caso, incluso cuando no se ejecutaron informes, las conexiones se mantuvieron vivas. Modifiqué mi cadena de conexión para que la agrupación de conexiones se establezca en falso y verifique si hay una conexión de usuario abierta a su base de datos de informes en un bucle hasta que el valor sea 0. Afortunadamente, no tengo que crear el disparador para rebotar a los usuarios.