加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:22:25 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试使用SQL事件探查器(07 2008)对 this problem进行故障排除 在生产中运行跟踪几天后,最后再次发生错误,现在我正在尝试诊断原因.问题是跟踪有400k行,其中99.9%来自“报表服务器”,我甚至不知道为什么会这样,但它似乎每秒都在ping SQL Server …… 有
我正在尝试使用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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读