Sql-Server

基於客戶端 TCP 埠的 SQL Server 跟踪

  • September 26, 2014

我有一個 Windows 終端伺服器,有許多不同的使用者通過 RDP 登錄以執行應用程序。應用程序為每個使用者建立一個或多個到 SQL Server 2008 R2 實例的連接。所有使用者都使用相同的 SQL 登錄名訪問相同的數據庫。我希望能夠跟踪特定使用者的 SQL 會話,但我還沒有找到一種方法來確定哪個 SQL 會話屬於哪個使用者。但是,我能夠確定應用程序的每個實例正在使用的源 TCP 埠。

有沒有辦法根據客戶端的 TCP 埠跟踪 SQL 會話?

有沒有辦法根據客戶端的 TCP 埠跟踪 SQL 會話?

是的。您可以查詢sys.dm_exec_connections以辨識來自客戶端 TCP 埠(列client_tcp_port)的會話。

例如:

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;

引用自:https://dba.stackexchange.com/questions/77808