在 SQL Server 2008 中,我上周创建了一个 Sql Server Agent Alert 来监视死锁事件。警报调用一个没有计划的作业,发送通过 WMI SELECT * FROM DEADLOCK_GRAPH 获得的 xml 死锁图标记。该作业调用存储图形的 SP 并发送电子邮件。
我一直在监视 Sql Server Waits,发现在我实施上述警报后,BROKER_TASK_STOP 和 SQLTRACE_WAIT_ENTRIES 的等待类别急剧上升。这些值从不被关注到分别占总等待时间的 42.59% 和 5.11%。
我应该担心吗?我在某处读到,高 BROKER_TASK_STOP 可能不是真正的问题。
这两种等待类型被排除在Paul Randal 的 wait stats analysis query之外,他比我权威得多。
我不会关心这些,并将它们排除在您的分析之外。
从性能的角度来看,这些都是“友好的”等待,无需担心。它们意味着线程坐在那里等待分配工作。您应该从您的等待统计查询中过滤掉这些和其他友好的等待。许多人在博客上写了关于等待排除的内容,包括 SQLRockStart,在这里 - http://thomaslarock.com/2012/05/are-you-using-the-right-sql-server-performance-metrics/