我们有一台SQL 2000服务器,它具有各种各样的工作,这些工作在一天中的不同时间运行,甚至在一个月的不同日期运行.通常,我们只使用SQL分析器在很短的时间内运行跟踪以进行性能故障排除,但在这种情况下,这实际上不能让我对通过该数据库对数据库运行的查询类型有一个很好的全面了解.一天,一周或一个月的过程.
如何最小化长时间运行的SQL跟踪的性能开销?我已经知道了:
执行跟踪服务器端(sp_ create_trace),而不是使用SQL事件探查器UI.
跟踪文件,而不是数据库表(这会给数据库服务器增加额外的开销).
我的问题是关于过滤器.如果我添加一个过滤器只记录运行超过一定持续时间或读取的查询,它仍然必须检查服务器上的所有活动,以决定是否需要记录它,对吧?因此,即使使用该过滤器,跟踪是否会为已经处于不可接受性能边缘的服务器创建不可接受的开销水平?