Skrypt dzięki uprzejmości Michała Powagi 😉
-- raport z czasami procesowania paczek ETLowych USE SSISDB; GO SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; DECLARE @execution_id BIGINT = 70660; -- tutaj wstawić execution ID paczki WITH msgs AS ( SELECT event_message_id , execution_path , package_name , package_path_full , event_name , message_source_name , package_path FROM internal.event_messages (NOLOCK) WHERE event_name IN ( 'OnPreExecute', 'OnPostExecute' ) AND operation_id = @execution_id ) , running AS ( SELECT * FROM msgs o WHERE o.event_name = 'OnPreExecute' AND NOT EXISTS ( SELECT * FROM msgs AS c WHERE c.event_name = 'OnPostExecute' AND c.execution_path = o.execution_path )) SELECT ex.execution_id , ex.project_name , e.executable_id , e.executable_name , e.package_name , e.package_path , CONVERT(DATETIME, es.start_time) AS start_time , CONVERT(DATETIME, es.end_time) AS end_time , CONVERT(VARCHAR, DATEADD(ms, es.execution_duration, 0), 108) AS 'duration_h:m:s' , es.execution_duration AS 'execution_duration_ms' , es.execution_result , CASE es.execution_result WHEN 0 THEN 'Success' WHEN 1 THEN 'Failure' WHEN 2 THEN 'Completion' WHEN 3 THEN 'Cancelled' END AS execution_result_description , es.execution_path , r.* FROM catalog.executions ex (NOLOCK) JOIN catalog.executables e (NOLOCK) ON ex.execution_id = e.execution_id JOIN catalog.executable_statistics es (NOLOCK) ON e.executable_id = es.executable_id AND e.execution_id = es.execution_id FULL OUTER JOIN running r (NOLOCK) ON es.execution_path = r.execution_path WHERE e.execution_id = @execution_id ORDER BY es.execution_id DESC; WITH msgs AS ( SELECT event_message_id , execution_path , package_name , package_path_full , event_name , message_source_name , package_path FROM internal.event_messages (NOLOCK) WHERE event_name IN ( 'OnPreExecute', 'OnPostExecute' ) AND operation_id = @execution_id ) , running AS ( SELECT * FROM msgs o WHERE o.event_name = 'OnPreExecute' AND NOT EXISTS ( SELECT * FROM msgs AS c WHERE c.event_name = 'OnPostExecute' AND c.execution_path = o.execution_path )) SELECT * FROM running;