由于 SQL Server 版本过时,我必须使用服务器端跟踪来收集一些信息,但如果我尝试实施它,我会收到错误消息Filters with the same event column ID must be grouped together
。我的代码:
exec sp_trace_setfilter 2, 10, 0, 7, N'SQL Server Profiler%'
exec sp_trace_setfilter 2, 10, 0, 7, N'DatabaseMail%'
exec sp_trace_setfilter 2, 10, 0, 7, N'SQLAgent%'
sp_trace_setfilter 1, 10, 0, 6, N'SQLT%';
sp_trace_setfilter 1, 10, 0, 6, N'MS%';
通常它可能是显而易见的,但我不知道为什么它不起作用(它不是分号)。
你们中有人有想法吗?
似乎跟踪已经在 ApplicationName 列(第 10 列)上有一个或多个过滤器,后面是其他列上的过滤器。添加另一个 ApplicationName 筛选器时出现错误,因为该列与上次添加的筛选器不同。SQL Trace 要求按顺序添加给定列上的所有过滤器(即“组合在一起”)。
问题脚本示例:
修复脚本:
请注意,此分组要求适用于初始跟踪创建脚本以及随后添加过滤器的情况。将另一个过滤器添加到跟踪时的含义是以下应用之一:
除非您提供完整的代码,否则很难找出问题所在。我使用了您在问题中提供的相同过滤器,并且可以成功启动停止服务器端跟踪。我在用:
这是我运行的示例: