在跟踪中筛选事件 (SQL Server Profiler)

适用于:SQL ServerAzure SQL 托管实例

筛选器将限制跟踪内收集的事件。 如果没有设置筛选器,则跟踪输出中将返回选定事件类的所有事件。 并不一定要为跟踪设置筛选器。 但筛选器可使跟踪过程中造成的开销最小化。

可以使用 “跟踪属性”“跟踪模板属性” 对话框中的 “事件选择” 选项卡向跟踪定义中添加筛选器。

在跟踪中筛选事件

  1. 在“跟踪属性”或“跟踪模板属性”对话框中,选择“事件选择”选项卡。

    “事件选择” 选项卡包含一个网格控件。 网格控件是包含所有可跟踪事件类的表。 每个事件类在表中占一行。 事件类可能略有不同,这取决于所连接服务器的类型和版本。 事件类由网格的“事件”列进行标识,并按事件类别进行分组。 其余列则列出每个事件类可以返回的数据列。

  2. 选择“列筛选器”。

    此时,“编辑筛选器”对话框显示。 “编辑筛选器”对话框包含比较运算符列表,可以使用这些运算符在跟踪中筛选事件。

  3. 若要应用筛选器,请选择比较运算符,然后键入要用于该筛选器的值。

  4. 选择“确定”。

注意事项:

  • 如果要对“事件选择”选项卡上的 StartTimeEndTime 数据列设置筛选条件,那么请确保:

    • 输入的日期符合此格式: YYYY/MM/DD HH:mm:sec

      \- 或 -

    • “常规选项” 对话框中选中了 “使用区域设置来显示日期和时间值” 。 若要查看“常规选项”对话框,请在 SQL Server Profiler 的“工具”菜单上选择“选项”。

      -以及-

      • 输入的日期介于 1753 年 1 月 1 日到 9999 年 12 月 31 日之间。
  • 如果从 osql 实用工具或 sqlcmd 实用工具跟踪事件,则始终将 % 追加到 TextData 数据列上的筛选器。

注意

“排除不包含值的行”复选框可能会筛选出包含以下内容的行:

  • NULL 值
  • 空字符串(严格意义上讲是值)

同时不筛选出列本身不存在的事件。

后续步骤