Traccia di SQL Server basata sulla porta TCP del client


9

Ho un server terminal Windows con molti utenti diversi che accedono tramite RDP per eseguire un'applicazione. L'applicazione effettua una o più connessioni per utente a un'istanza di SQL Server 2008 R2. Tutti gli utenti accedono allo stesso database utilizzando lo stesso login SQL. Vorrei essere in grado di tracciare la sessione SQL di un determinato utente, ma non ho trovato un modo per determinare quale sessione (s) SQL appartiene a quale utente. Tuttavia, sono in grado di determinare la porta TCP di origine utilizzata da ciascuna istanza dell'applicazione.

C'è un modo per tracciare una sessione SQL in base alla porta TCP del client?

Risposte:


10

C'è un modo per tracciare una sessione SQL in base alla porta TCP del client?

Sì. È possibile eseguire una query su sys.dm_exec_connections per identificare una sessione dalla porta TCP del client (colonna client_tcp_port).

Per esempio:

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;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.