Seguimiento de SQL Server basado en el puerto TCP del cliente

9

Tengo un servidor de terminal de Windows con muchos usuarios diferentes que inician sesión a través de RDP para ejecutar una aplicación. La aplicación realiza una o más conexiones por usuario a una instancia de SQL Server 2008 R2. Todos los usuarios acceden a la misma base de datos utilizando el mismo inicio de sesión SQL. Me gustaría poder rastrear la sesión SQL de un usuario en particular, pero no he encontrado una manera de determinar qué sesión (s) SQL pertenece a qué usuario. Sin embargo, puedo determinar el puerto TCP de origen que usa cada instancia de la aplicación.

¿Hay alguna forma de rastrear una sesión SQL basada en el puerto TCP del cliente?

Bryan Voss
fuente

Respuestas:

10

¿Hay alguna forma de rastrear una sesión SQL basada en el puerto TCP del cliente?

Si. Puede consultar sys.dm_exec_connections para identificar una sesión desde el puerto TCP (columna client_tcp_port) del cliente .

Por ejemplo:

SELECT DEC.session_id
FROM sys.dm_exec_connections AS DEC
WHERE DEC.client_net_address = '192.168.0.100'
AND DEC.client_tcp_port = 63465;
Paul White 9
fuente