![SQL Perfmon 跟踪:等待工作进程](https://linux22.com/image/484622/SQL%20Perfmon%20%E8%B7%9F%E8%B8%AA%EF%BC%9A%E7%AD%89%E5%BE%85%E5%B7%A5%E4%BD%9C%E8%BF%9B%E7%A8%8B.png)
我正在尝试追踪一个与超时有关的 SQL 问题,尽管我绝不是一个 DBA,但我还是坚持做这项工作,因此我会完成它。
我一直在跟踪我能想到的与 IO 和网络连接相关的几乎所有内容。唯一一个异常大的数字是“等待工人”累计等待时间。
有人能解释一下这是什么吗?我应该在什么时候关注它的值?我现在的跟踪记录中显示的累计等待时间为 4611686018427391 毫秒。这可不是什么好事吧?
答案1
这个时间可能还行。这是自上次启动实例以来的累计等待时间。如果实例已经运行了几个月,这个数字就行了。
将跟踪限制在需要很长时间才能运行的命令上。您可以根据持续时间(以毫秒为单位)进行过滤。尝试从 10000 左右开始,看看会出现什么。从这些查询的执行计划开始,看看缺少哪些索引。
答案2
另外,一定要检查 Codeplex 的 DMV 统计信息仪表板(微软推荐),当您在服务器上查找消耗资源的查询时,它可以为您节省大量时间: http://www.codeplex.com/sqldmvstats
或者,您可以查看实际的动态管理视图,例如:
从 sys.dm_db_index_usage_stats 中选择 * 从 sys.dm_db_missing_index_details 中选择 *