На основании официальной документации таблицы [catalog].[execution_component_phases]
:
Отображает время, потраченное компонентом потока данных на каждом этапе выполнения.
В этом представлении отображается строка для каждогофаза выполнения компонента потока данных, такого как проверка, предварительное выполнение, последующее выполнение, PrimeOutput и ProcessInput.Каждая строка отображает время начала и окончания определенной фазы выполнения.
Исходя из моего опыта, я могу предположить, что Порядок этапов выполнения:
- AcquireConnection:Требуется получение соответствующих подключений
- Проверка: Проверка задания / компонента
- Предварительное выполнение
- ProcessInput: Фаза обработки
- PrimeOutput: Генерация выходов
- Post-Execute
- ReleaseConnection: Разблокировать полученные соединения
В официальной документации они предоставили следующий запрос для считывания времени, затраченного на каждую фазу:
use SSISDB
select package_name, task_name, subcomponent_name, execution_path,
SUM(DATEDIFF(ms,start_time,end_time)) as active_time,
DATEDIFF(ms,min(start_time), max(end_time)) as total_time
from catalog.execution_component_phases
where execution_id = 1841
group by package_name, task_name, subcomponent_name, execution_path
order by package_name, task_name, subcomponent_name, execution_path
На основе приведенной выше информации вы можете - в качестве примера - проверить, является ли текущая фаза задачи известной, если онавсе еще работает или нет.
Ссылки