不使用 SQL Profiler 创建 SQL 跟踪

Jus*_*tin 4 sql-server sql-server-2005

我之前读过,可以创建一个 SQL 探查器跟踪,该跟踪直接记录到表中,而无需使用 SQL 探查器 - 显然这比让 SQL 探查器本身运行更好,因为 SQL 探查器捕获所有事件,然后过滤探查器本身中的条目以仅显示当前过滤器中指定的条目。直接跟踪仅收集跟踪本身中指定的事件,从而对服务器本身的影响较小。

我想设置一个跟踪来记录所有执行时间超过 1 秒的查询,但现在我似乎无法再次找到那篇文章。

Ed *_*ick 6

不久前我被展示了一个技巧来做到这一点。通过使用 SQL Profiler 创建跟踪,启动它,然后立即停止它,您可以轻松获取跟踪定义。此时,Profiler 将允许您导出 SQL 语句以在服务器端创建相同的内容。您仍然需要像mrdenny 指出的那样修改一些数据点,但是创建服务器端跟踪需要大部分工作。该命令在 SQL2005+ 上的位置是 File > Export > Script Trace Definition;在 SQL2000 上,它位于文件 > 脚本跟踪。