Ich möchte identifizieren, welche SSRS-Berichte über 5 Minuten ausgeführt wurden, aber werden noch ausgeführt.Identifizieren SSRS-Berichte, die über 5 Minuten ausgeführt wurden
Das SSRS-Ausführungsprotokoll zeigt nur einen Eintrag AFTER der Bericht geladen hat und die folgende Abfrage zeigt mir nicht die Quelle der lang laufenden Abfragen, so dass ich es nicht an einen Bericht binden kann.
Ich möchte dies verwenden, um Spids lang laufenden Berichten zu töten. [SQL Server 2012]
Kann jemand helfen?
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
, was der Bericht läuft können Sie sehen, die SQL hinter dem Bericht? Haben Sie SQL-Analyse-Tool, um zu sehen, was es während des Wartens tut? – BobNoobGuy
Ich kann sehen, dass die Abfrage mit der obigen Abfrage ausgeführt wird, aber wie kann ich das mit einem Bericht verknüpfen? Einige Berichte haben mehrere Abfragen und einige Berichte teilen dieselben Abfragen. – BelgoCanadian
Wenn Sie die SQL-Datei hinter der RDL-Datei nicht sehen können, müssen möglicherweise einige Datenbankadministratoren einspringen. Aber ich möchte oft die SQL hinter der RDL-Datei wissen. und führen Sie es in SSMS rohe. Wenn es in SSMS langsam wird, kann die nächste Aktion ausgeführt werden, um die Abfrage zu optimieren. – BobNoobGuy