我想确定哪些SSRS报告已运行超过5分钟,但仍在运行。确定已运行超过5分钟的SSRS报告
SSRS执行日志仅显示报表加载后的条目,而下面的查询未向我显示长时间运行的查询的来源,因此我无法将其与报表绑定。
我想用它来杀死长时间运行的报告。 [SQL Server 2012]
任何人都可以帮忙吗?
SELECT st.text,
qp.query_plan,
qs.*
FROM (
SELECT TOP 50 *
FROM sys.dm_exec_query_stats
ORDER BY total_worker_time DESC
) AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS qp
WHERE qs.max_worker_time > 300
OR qs.max_elapsed_time > 300
什么是报告运行,你可以看到报告后面的SQL?你是SQL分析工具,看看它在等待什么? – BobNoobGuy
我可以看到使用上述查询运行的查询,但是如何将它与报表绑定?一些报告具有多个查询,并且一些报告共享相同的查询。 – BelgoCanadian
如果你不能看到RDL文件后面的SQL,那么一些数据库管理员可能需要插入。但我经常想知道RDL文件背后的SQL。并在SSMS中原始运行。如果它在SSMS中变慢,那么可以采取下一个动作来优化查询。 – BobNoobGuy