如何仅针对特定应用程序跟踪SQL事件探查器中的步骤

时间:2016-12-30 18:55:07

标签: sql-server tsql sqlprofiler

我们使用与SQL数据库通信的第三方公司软件并进行检索并插入所有信息。

当用户使用此软件时,有时会冻结特定步骤。 我需要对其进行故障排除并找出原因。

为此,我使用SQL事件探查器来查看导致此瓶颈的查询。 但是,我如何仅针对特定软件跟踪步骤,仅针对特定用户?我不想看到所有其他信息。

enter image description here

我能够过滤NTUserName,我假设它只是UserName,对吗? 但是如何找出ApplicationName是什么?

如果我运行此查询,我会看到13种不同的应用程序,包括Microsoft Office,Report Server等。它们中没有一种听起来像我们使用的软件的名称。 (MGA Systems。保险管理系统)

select distinct 
    program_name
from sys.dm_exec_sessions
where is_user_process = 1;

2 个答案:

答案 0 :(得分:1)

这是我所知道的唯一方式。只需运行探查器然后让人运行应用程序并查看最接近运行时间的时间以获取应用程序的名称。您也可以通过它接触的数据库名称对其进行过滤,以便进一步减少它。有时候Profiler很棘手,要获得你想要的信息,你需要继续搞乱过滤器。对不起,我无法帮助探测器是ornery。

答案 1 :(得分:1)

您需要知道使用该应用的用户的用户名。然后,无论您身在何处,都可以在NTUsername > Like > [User Name without the domain if they are on the same network]中为Windows AD连接字符串输入用户名,如果是{sqlserver用户,则输入username而不是ntsurename的相同步骤。然后,您可以过滤他们的查询。