Я считаю, что проблема в том, что вы выбираете GROUP BY
для всех столбцов в Aggregate Transformation
, и он пытается заставить вас что-то агрегировать.
Если вы на самом деле просто пытаетесь GROUP BY
всех столбцов, скажем, устранить дубликаты, вы получите гораздо лучшую производительность, используя SELECT DISTINCT
в своем источнике данных.
Aggregate Transformation
- это полностью блокирующее преобразование, то есть необходимо извлечь весь набор данных в память, выполнить SELECT DISTINCT
в памяти, а затем разрешить очищенному набору данных пройти в назначение, в результате чего две полные копии данных в памяти. Часто сервер SSIS недостаточно загружен для такой нагрузки.
Используя SELECT DISTINCT
в своем источнике данных, тяжелая работа ложится на сервер базы данных, который гораздо лучше оснащен для выполнения этой работы. В качестве бонуса это сократит объем данных, передаваемых по сети в пакет, поэтому вы увеличите скорость в обеих операциях.