sql-server-2008 – 有没有办法过滤SQL事件探查器跟踪?

前端之家收集整理的这篇文章主要介绍了sql-server-2008 – 有没有办法过滤SQL事件探查器跟踪?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用sql事件探查器(07 2008)对 this problem进行故障排除

在生产中运行跟踪几天后,最后再次发生错误,现在我正在尝试诊断原因.问题是跟踪有400k行,其中99.9%来自“报表服务器”,我甚至不知道为什么会这样,但它似乎每秒都在ping sql Server ……

有没有办法从跟踪中过滤掉一些记录,以便能够查看其余的记录?
我可以使用当前的.trc文件执行此操作,还是必须再次运行跟踪?
是否有其他应用程序可以查看可以为我提供此功能的.trc文件

解决方法

您可以将捕获的跟踪加载到sql Server Profiler: Viewing and Analyzing Traces with SQL Server Profiler.

或者您可以加载到像ClearTrace(免费版)这样的工具来执行工作负载分析.

您可以加载到sql Server表中,如下所示:

SELECT * INTO TraceTable
FROM ::fn_trace_gettable('C:\location of your trace output.trc',default)

然后,您可以运行查询来聚合数据,例如:

SELECT 
  COUNT(*) AS TotalExecutions,EventClass,CAST(TextData as nvarchar(2000)),SUM(Duration) AS DurationTotal,SUM(cpu) AS cpuTotal,SUM(Reads) AS ReadsTotal,SUM(Writes) AS WritesTotal
FROM 
  TraceTable
GROUP BY 
  EventClass,CAST(TextData as nvarchar(2000))
ORDER BY 
  ReadsTotal DESC

另见:MS SQL Server 2008 – How Can I Log and Find the Most Expensive Queries?

在启动之前为捕获的跟踪设置过滤器也很常见.例如,常用的过滤器仅限于需要超过一定数量读取的事件,例如5000.

猜你在找的MsSQL相关文章