2013-06-04 542 views
0

SQL Profile可能导致SQL Server出现问题吗?导致CPU高峰的SQL Server Profiler

我们注意到与CPU的一个问题,在满负荷生产,我们决定把SQL事件探查器关闭,秒杀不见了!

有没有人经历过这样的,它是如何发生的呢?

如何使用SQL事件探查器,如果它会导致这个问题?

+0

这取决于你正在追踪 - 使用SQL事件探查器将始终至少有*一些*影响,影响的严重程度可能取决于所使用的跟踪设置。 – Justin

回答

2

SQL事件探查器会影响性能在一定程度上,因为它是有效的订阅正在由SQL引擎处理事件和交易。 Profiler将对事件执行跟踪和过滤,以产生将需要CPU使用量的输出,到什么程度取决于服务器上的负载是什么以及配置是什么样。

这里有一个文章中,我发现,提供了一些提示: http://weblogs.sqlteam.com/dang/archive/2007/12/16/Avoid-Causing-Problems-with-Profiler.aspx

要点总结 - SQL跟踪性能准则:

  • 运行探查远程,而不是直接在服务器
  • 避免包括事件经常发生(如锁:收购),除非绝对必要
  • 包括只需要事件类
  • 指定限制滤波器,以减少事件的数量
  • 避免冗余数据(例如SQL:BatchStarting和SQL:BatchCompleted)
  • 避免使用Profiler运行较大的跟踪;考虑服务器端SQL
  • 跟踪,而不是限制服务器端跟踪文件的大小和管理空间 使用