0

我想跟踪两个事件,SP:Completed 和 SP:StmtCompleted。我想要 ALL SP:Completed 但是如果 ObjectName 列为 NULL,我只想要 SP:StmtCompleted。

我要做的是跟踪所有网站调用以进行调试。我想查看所有存储过程、函数调用等以及来自网站的所有直接查询(手写或 linq 等)。SP:Completed 给了我几乎所有的东西。当我使用 SP:StmtCompleted 时,它提供了太多信息,因为它提供了来自过程和函数内的所有调用,所以我只想要 NULL ObjectNames 如果事件是 SP:StmtCompleted 但想要 SP:Completed 的所有内容(null 而不是 null对象名)。

谢谢你的帮助

4

1 回答 1

1

看起来这不可能直接进行,因为跟踪过滤条件只能引用一列,而不是两列,并且只能引用一个比较。所以你不能构造一个“复杂”的过滤条件,比如(Event = A and ObjectName is NULL) OR (Event = B).

有几个选择是:

  • 将跟踪输出保存到表并使用SQL Profiler或查询表fn_trace_gettable()
  • 使用扩展事件(应该替换跟踪,尽管我从未使用过它们)
于 2013-02-08T20:44:32.527 回答