SQL Server Profiler的使用方法可以见这篇Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解

昨日,跟踪了某个程序的sql执行,然后打开trc(SQL Server Profiler的跟踪文件)一看,2分钟就记录了800条数据,

绝大多数都不是我想要的数据,这个工具也没有筛选功能,要从这么多数据中找出我想要的,还真是麻烦。

必应了一把,在Stack Overflow上有这么一篇Is there a way to filter a SQL Profiler trace?

这里分享下别人的经验

1.如何更有效的跟踪呢

应用程序的连接字符串里加上“Application Name”/“app”键,这样,在新建跟踪时,

可以在”列筛选器”里根据ApplicationName进行过滤(如下图)

image

 

2.如果过滤trc文件呢

就像一开始说的,我弄到一个800行的文件,如果从中过滤出我需要的呢?

你可以在SQL Server Management Studio中执行这段

SELECT * INTO TraceTable
FROM ::fn_trace_gettable('d:\sqlLog.trc', default)
(d:\sqlLog.trc:跟踪文件的全路径)
然后数据库里就会多了张TraceTable表,跟踪文件里的内容写到这张表里去了。

image

(TraceTable表)

之后,你就可以对这张TraceTable进行分析了