在 SQL Server 中,我得到了阻塞其他进程的进程的会话 ID。现在我想确定导致此阻塞的特定用户或机器。用户正在使用 SQL Server 身份验证进行身份验证。
通常我可以从活动监视器(或通过查询)获得所需的信息。但万一用户从远程桌面会话连接,我迷路了。所有 RDP 用户的主机名都相同,并且没有其他信息有助于区分会话。似乎没有办法实际识别实际阻止其他用户的用户。
有什么方法可以识别用户吗?如果是,如何?
(如果不可能,那我就只能忍受了……)
在 SQL Server 中,我得到了阻塞其他进程的进程的会话 ID。现在我想确定导致此阻塞的特定用户或机器。用户正在使用 SQL Server 身份验证进行身份验证。
通常我可以从活动监视器(或通过查询)获得所需的信息。但万一用户从远程桌面会话连接,我迷路了。所有 RDP 用户的主机名都相同,并且没有其他信息有助于区分会话。似乎没有办法实际识别实际阻止其他用户的用户。
有什么方法可以识别用户吗?如果是,如何?
(如果不可能,那我就只能忍受了……)
实现此目的的一种方法是使用
host_process_id
来自的列sys.dm_exec_sessions
此表中的这个 host_process_id 映射到任务管理器中的 PID。
在这种情况下,我们可以运行以下查询来获取我们的 host_process_id,然后获取结果并在任务管理器中检查当前具有与结果匹配的 PID 的应用程序。
然后,您可以检查哪个帐户正在运行该进程。