Я использую SSIS для создания звездообразной схемы для хранилища данных с суррогатными ключами (sg).
Мой процесс выглядит следующим образом:
найти max sg (используя SQL)
в потоке данных: источник данных-> сценарий С#, который добавляет +1 к максимальному sg -> запись в место назначения.
Теперь с фиксированными размерами работает без проблем. Каждая добавленная строка получает последовательный sg.
Однако, когда я использую медленно меняющееся измерение и исторически обновляю строку, я получаю следующее:
sg_key | name | city | current_row
1 | a | X | true
2 | b | Y | true
3 | c | Z | false
4 | d | H | true
7 | c | T | true
Теперь поправьте меня, если я ошибаюсь, но я всегда думал, что SSIS проталкивает одну строку за раз через все задачи потока, но похоже, что сначала он генерирует ВСЕ sg_keys для всех строк, а затем отправляет обновленную строку через поток. .
Я правильно понимаю, что SSIS работает неправильно? Как я могу это исправить?
Здоровья, Марк.