Encontrar dirección IP de todas las conexiones de SQL Server
La organización a la que consultaba tenía un tráfico extremadamente pesado desde varias aplicaciones móviles y también tenía muchas API donde los datos se cargaban y descargaban constantemente. La pregunta surgió porque queríamos saber qué aplicación de una dirección IP específica cuánto mantiene ocupada la base de datos. Aquí está una guía para resolverlo.
SELECT ecs.client_net_address, ecs.client_tcp_port, ess.[program_name], ess.[host_name], ess.login_name, SUM(num_reads) TotalReads, SUM(num_writes) TotalWrites, COUNT(ecs.session_id) AS SessionCount FROM sys.dm_exec_sessions AS ess WITH (NOLOCK) INNER JOIN sys.dm_exec_connections AS ecs WITH (NOLOCK) ON ess.session_id = ecs.session_id GROUP BY ecs.client_net_address, ecs.client_tcp_port, ess.[program_name], ess.[host_name], ess.login_name ORDER BY SessionCount DESC;
Ahora, cuando ejecute el script anterior, le dará una lista de todas las direcciones IP y su recuento de sesiones. Además, también puede ver cuánto escribe y lee cada una de las direcciones IP en la base de datos.
Con la ayuda de la consulta anterior, pudimos identificar una dirección IP específica que pertenecía a una de las aplicaciones móviles que estaba haciendo muchas lecturas. Lo investigamos más a fondo y descubrimos que la aplicación móvil tenía problemas, que enumeramos para solucionarlo.
Deja una respuesta