0

我使用带有 Where 子句的脚本创建了扩展事件会话,以过滤引用名为 MySchema.MyTable 的表的命令:

WHERE ([sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'%MySchema.MyTbl%'))

问题是表格可以以以下 4 种方式之一出现:

MySchema.MyTable

[MySchema].MyTable

MySchema.[MyTable]

[MySchema].[MyTable]

我可以使用所有这些选项和它们之间的“或”运算符创建一个长的 Where 子句(a 为字符的歧义找到一个很好的解决方案 ],[),但它不是很优雅。我希望我可以使用 Replace 运算符来删除这些字符 (],[) 但我不知道如何.. 有什么建议吗?

4

1 回答 1

0

经过一番调查,我认为一个好的解决方案是通过 object_id 进行过滤,而不是通过操作 SQL 字符串来查找对象名称

于 2015-01-08T10:27:46.097 回答