Rastreio do SQL Server com base na porta TCP do cliente

9

Eu tenho um servidor de terminal do Windows com muitos usuários diferentes efetuando login via RDP para executar um aplicativo. O aplicativo faz uma ou mais conexões por usuário com uma instância do SQL Server 2008 R2. Todos os usuários acessam o mesmo banco de dados usando o mesmo login SQL. Gostaria de poder rastrear a sessão SQL de um usuário específico, mas não encontrei uma maneira de determinar quais sessões SQL pertencem a qual usuário. No entanto, sou capaz de determinar a porta TCP de origem que cada instância do aplicativo está usando.

Existe uma maneira de rastrear uma sessão SQL com base na porta TCP do cliente?

Bryan Voss
fonte

Respostas:

10

Existe uma maneira de rastrear uma sessão SQL com base na porta TCP do cliente?

Sim. Você pode consultar sys.dm_exec_connections para identificar uma sessão da porta TCP do cliente (coluna client_tcp_port).

Por exemplo:

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
fonte