基于客户端TCP端口的SQL Server跟踪


9

我有一个Windows终端服务器,其中许多用户通过RDP登录以运行应用程序。该应用程序为每个用户与SQL Server 2008 R2实例建立一个或多个连接。所有用户都使用相同的SQL登录名访问相同的数据库。我希望能够跟踪特定用户的SQL会话,但是我还没有找到一种方法来确定哪个SQL会话属于哪个用户。但是,我能够确定应用程序的每个实例使用的源TCP端口。

有没有一种方法可以基于客户端的TCP端口来跟踪SQL会话?

Answers:


10

有没有一种方法可以基于客户端的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;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.