SQL Server探查器不通过TextData列筛选器进行筛选

Ton*_*ich 10 sql-server sql-server-profiler

我有一个存储过程,我们称之为'MyStoredProc',每隔几秒就调用一次.

我想过滤它,因为它使视图混乱.

proc被称为 exec sp_executesql N'Exec @Return = [dbo].[MyStoredProc]....

我已经Not Like在TextData列上有两个过滤器,适用于其他文本.然而,第三个不起作用.电话仍在显示.

我输入了不同的变体:%[MyStoredProc]%或%MyStoredProc%或MyStoredProc.

它们不起作用.
这个的正确语法是什么?TextData过滤器也可以处理变量名吗?

我正在使用Profiler 2014定位2012引擎.

小智 9

如何从分析器 textData 中过滤字符串 如您所见,您应该将过程名称(我建议不要使用架构名称 dbo。)放在 %%(不带括号)之间

  • 我在我的问题中提到这不起作用。 (4认同)
  • 谢谢,谢谢`%`语法提醒。谷歌把我带到这里,虽然OP问题提到了它,但这是一个非常好的答案,谢谢 (2认同)

RLH*_*RLH 5

不确定这是否对OP有帮助,但我已经多次遇到这种情况,只需“摆弄”各种类型的查询,将数据导出到Excel,然后手动过滤结果。

然而,我找到了一种似乎始终有效的方法来解决这个问题。首先,创建一个新的探查器模板(文件>模板>新模板...)使用所有所需的设置设置模板,或使用选项基于现有模板创建新模板:。我知道我最初在我的模板中使用了这个选项,我认为这可能是问题所在。

现在,当您要添加新过滤器时,您需要通过编辑模板来添加它们。如果我更新了跟踪的属性值,我将无法使TextData过滤器正常工作。相反,请转到“文件”>“模板”>“编辑模板...”,然后选择并更新您的模板。

保存模板,关闭探查器并重新打开模板。当您运行模板时,过滤器应该可以工作。

我不确定是否有更简单的方法,但我确实知道,事实上,在保存、关闭并重新打开模板之前,我无法让过滤器工作。我不确定问题是什么,但我猜 SQL Server Profiler 正在缓存一些未使用 TextData 字段更新的旧过滤器值。发生这种情况时,重新启动应用程序似乎是唯一的解决方法。

  • 这为我解决了这个问题。我正在编辑跟踪的属性,但没有效果。使用模板并开始新的跟踪修复了它,并在将来节省了我的时间。 (2认同)