Sql server 如何在扩展事件中筛选表名?
我使用带有Where子句的脚本创建了一个扩展事件会话,以过滤引用名为MySchema.MyTable的表的命令:Sql server 如何在扩展事件中筛选表名?,sql-server,extended-events,Sql Server,Extended Events,我使用带有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 ([sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text],N'%MySchema.MyTbl%'))
问题在于该表可以以下4种方式之一显示:
MySchema.MyTable
[MySchema].MyTable
MySchema.[MyTable]
[MySchema].[MyTable]
我可以创建一个长Where子句,其中包含所有这些选项以及它们之间的“Or”操作符(a以找到字符模糊性的好解决方案),),但它不是很优雅。
我希望我可以使用替换运算符来删除那些字符(],[),但我不知道如何。。
有什么建议吗?经过一些调查,我认为一个好的解决方案是通过对象id进行过滤,而不是通过操纵SQL字符串来查找对象名称