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

How to trace steps in SQL profiler for only particular application

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

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

为此,我正在使用 SQL Profiler 来查看导致此瓶颈的查询。 但是我如何只跟踪特定软件和特定用户的步骤呢?我不想看到所有其他信息。

我可以过滤 NTUserName,我假设它只是用户名,对吗? 但是我怎样才能知道 ApplicationName 是什么?

如果我 运行 这个查询,我会看到 13 个不同的应用程序,包括 Microsoft Office、Report Server 等。None 它们听起来与我们使用的软件名称不同。 (MGA Systems.Insu运行ce 管理系统)

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

这是我所知道的唯一方法。只需让探查器 运行ning 然后让人员 运行 应用程序并查看最接近它 运行 获取应用程序名称的时间。您还可以通过它涉及的数据库名称对其进行过滤,这样可以进一步 trim 它。 Profiler 有时很棘手,要获得您需要的信息,您需要不断弄乱过滤器。抱歉,我不能再帮助分析器很烦人了。

您需要知道使用该应用程序的人的用户名。然后,在您所在的位置,在 NTUsername > Like > [User Name without the domain if they are on the same network] 中为 windows AD 连接字符串输入他们的用户名,或者如果它是 sqlserver 用户,则为 username 而不是 ntsurename 输入相同的步骤。然后您可以过滤他们的查询。