有人能帮我找到下面给出的长期运行查询的详细信息吗?ProcessID、进程名称、数据库、主机、用户、进程登录时间、查询开始时间和查询持续时间。
我正在寻找一个查询或SP提供给我这个数据。
发布于 2014-05-30 14:17:16
正如评论所指出的,最好的工具是服务提供商_whoIsActive by 亚当·马查尼。它可以以多种方式使用,以查看启动脚本时运行的是什么,或者可以在循环中运行它以监视某些特定的操作,例如慢速查询。
要在循环中运行,请看这里:如何使用sp记录活动_活跃在循环中的以检测慢速查询:如何使用sp_查找慢速Server查询的WhoIsActive
您可以直接使用DMV获得最慢的查询并在那里执行操作。检查格伦·贝里的诊断查询。
最后,您可以使用此查询查找最耗时的查询。您可以使用糖尿病组_exec_查询_统计数据添加更多数据,也可以加入其他数据以获取更多信息。请注意,每次服务器重新启动时,dmv都会被刷新和刷新。
SELECT creation_time
,last_execution_time
,total_physical_reads
,total_logical_reads
,total_logical_writes
, execution_count
, total_worker_time
, total_elapsed_time
, total_elapsed_time / execution_count avg_elapsed_time
,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset END
- qs.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
ORDER BY total_elapsed_time / execution_count DESC;编辑
一个新的选项已经可以使用了,第一答卷包。是一组脚本,在麻省理工学院许可证下由BrentOzar团队免费提供,它将帮助执行各种任务,包括OP要求的任务。主要是本例的sp_BlitzFirst和sp_BlitzWho脚本。
发布于 2014-05-30 12:24:52
我强烈推荐服务提供商_高活性。这是一个第三方SP,但可以告诉你上面列出的一切,还有更多。这是一个难以置信的工具,在你的武器库。
https://dba.stackexchange.com/questions/66249
复制相似问题