SQL Server:完成后跟踪缓慢运行的查询

时间:2015-07-23 04:18:16

标签: sql-server sql-server-2008 sql-server-2005 sql-server-2012

我正在尝试使用缓慢运行查询的脚本。我了解我们可以使用sys.dm_exec_requests获取运行缓慢的查询列表。说,我有一个查询Q1运行速度非常慢,比如1小时。直到Q1正在运行,即执行,我可以使用sys.dm_exec_requests DMV跟踪它。如果我理解正确,一旦Q1完成,其统计数据将不再可用于此DMV。相反,我们需要查看sys.dm_exec_query_stats。但是,如何获取特定查询Q1的统计信息,该查询一直在慢速运行?这意味着我如何关联我之前在sys.dm_exec_requests和sys.dm_exec_query_stats中获得的数据?

1 个答案:

答案 0 :(得分:1)

由于您在如此广泛的版本中运行,因此您必须使用最低的公分母,即SQL跟踪。设置到存储过程的跟踪完成,并且ad hoc语句完成需要的时间超过某个阈值。然后在服务器端运行并每隔一段时间查看一次输出。

值得注意的是,如果2005年没有合并,我建议延长活动。