1.不要使用SQL server Profiler GUI 进行跟踪,应该使用T-SQL代码。使用profiler跟踪时,实际会有两个跟踪,一个把输入写入目标文件,一个把跟踪信息写入运行profiler的客户端,你可以先用profiler以图形化方式定义跟踪,在使用菜单项file>export>script trace dewfinition>for SQL server2005...
根据定义好的跟踪生成T-SQL代码。然后再根据需要对代码稍作修改。我喜欢把代码封装到存储过程,并接受那些我希望其可变的元素作为参数,例如,在跟踪定义中用作刷选器的数据库ID
2 不要把跟踪数据直接写到表,这样会严重地影响性能。把文件写到磁盘上是最快的方案(写到网络共享也很慢),然后你可以把跟踪数据加载到表进行分析,加载时可以在select into语句中使用fn_trace_gettable 函数。select into 是一个批量操作。当数据库回复模型未设置为null时,批量操作被最小化的记录到日志,因此,它比在完整日志模式夏运行要快很多。
3 跟踪会产生大量的数据和而外的I/o操作。不要把目标跟踪文件放到包含数据库文件(如数据,日志和tempdb)的磁盘上,最理想的情况是,为目标跟踪文件使用单独的磁盘驱动器,尽管这需要增加而外的磁盘驱动器。
4选择事件类和数据列,只跟踪需要的信息,一处所有默认项和非必选项。当然,不要选择得太多,要确保包含了所有相关的时间类和数据列
5 使用跟踪刷选功能来刷选需要的事件,例如,当优化某个数据库,之刷选该数据的ID。