Относительно новый для SSIS, но я создал пакет для загрузки нескольких сгруппированных плоских файлов (из дампа данных Progress) в соответствующие промежуточные таблицы SQL.Каждая из групп плоских файлов представляет исходную логическую таблицу и существует в виде нескольких плоских файлов с одним и тем же именем таблицы с добавленным добавлением int (например, matdb-1, matdb-2 и т. Д.).Каждый плоский файл содержит ограниченные данные с максимумом 500 000 строк.
У меня есть контейнеры циклов Foreach с задачей потока данных, содержащей источник плоского файла в назначение OLE DB с использованием «Таблица или представление - быстрая загрузка», «Проверить«Контрастность» снята, а затем задача «Файловая система» для перемещения обработанного файла в архив.
Самая большая таблица (в настоящее время 25,2 миллиона строк) занимает в среднем 6,5-7 минут на обработку каждого файла, и я хочу получить этовниз, предпочтительно не менее чем на половину.Таблица назначения состоит из 2 столбцов типа int, 30 столбцов varchar (max), 6 столбцов varchar (100) и 1 столбца varchar (18).
Я прочитал, попробовал и протестировал несколько статей для внесения поправок вDefaultBufferMaxRows / DefaultBufferSize, установив для AutoAdjustBufferSize значение True и изменив «Rows per batch» / «Максимальный размер фиксации вставки» в редакторе назначения OLE DB как средство повышения производительности по умолчанию, но все, что я пробовал, только увеличило время обработкии я не могу найти более эффективное решение.
Любые вопросы и предложения приветствуются, и я постараюсь ответить соответствующим образом.Спасибо.