扩展事件过滤

sik*_*adb 8 sql-server extended-events

我正在尝试使用登录名在扩展事件过滤中创建跟踪,在探查器中我们可以使用登录名进行过滤,但我在 XE 中看不到该选项。我怎么做?

Sql*_*ide 6

在 SQL 2016 中,有 5 个过滤谓词可用于过滤登录。
对于 NT 登录/用户,您可以使用所有 5,但 SQL 登录/用户只能使用数字 3,4 和 5。

  1. sqlserver.nt_username-收集NT用户名
  2. sqlserver.session_nt_username-获取当前会话NT用户
  3. sqlserver.server_principal_name - 获取在其上下文中触发事件的服务器主体的名称。
  4. sqlserver.username-获取当前用户名
  5. sqlserver.session_server_principal_name - 获取发起事件被触发的会话的服务器主体的名称。

使用 tsql,您需要根据您使用的帐户类型和实际价值来更改我的代码。

    ALTER EVENT SESSION [test] ON SERVER 
    ADD EVENT sqlserver.sp_statement_completed(
     WHERE ((((([sqlserver].[username]=N'') 
       AND ([sqlserver].[session_server_principal_name]=N'')) 
       AND ([sqlserver].[server_principal_name]=N'')) 
       AND ([sqlserver].[session_nt_user]=N'')) 
       AND ([sqlserver].[session_server_principal_name]=N'')))
    GO
Run Code Online (Sandbox Code Playgroud)

从图形用户界面:

选择选择事件后,突出显示事件并单击配置。

在此处输入图片说明

在过滤器下设置您的和/或条件、归档、运算符、值。 在此处输入图片说明