Я пытаюсь реализовать процесс ETL для наших медленно изменяющихся таблиц измерений типа 1 в базе данных SQL 2014. Нагрузка должна происходить на разных серверах, и я бы предпочел не использовать связанные серверы.Как обрабатывать строки, которые были удалены из источника, используя SSIS Slowly Changing Dimension
Я искал способы сделать это в SSIS и нашел медленно меняющийся мастер измерений, который отлично работает, за исключением того, что это только позволяет либо вставлять новые строки, либо обновлять строки, если есть совпадение с бизнес-ключом, однако Я не нашел места, где он позволяет мне обрабатывать, когда запись существует в таблице измерений, но была удалена из источника. Я хотел бы убедиться, что они удалены. Я что-то упускаю? Кто-нибудь нашел лучший способ справиться с этим в SSIS?
Я знаю, что я мог просто сбрасывать все в другую таблицу на целевом сервере и писать слияние TSQL, но просто кажется, что это должен быть простой способ сделать это в SSIS.
Не связано, просто интересно, что не так с использованием связанных серверов? – Anton
Вы неправильно понимаете SSIS ... вам нужно будет переместить данные в таблицу в процессе слияния. У SSIS нет выхода как такового, но он имеет метод обработки ошибок, который может использоваться для создания «удаленных» строк. Конечно, один сплошной TSQL MERGE мог бы это сделать, но позволяет предположить, что разрозненные таблицы требуют SSIS ... тогда распознать удаленную строку является несуществующей строкой в SSIS. Тем не менее, плохая строка все еще является строкой в SSIS. –
Спасибо за информацию. Я думаю, что слияние с TSQl будет лучшим вариантом. Есть несколько причин, по которым я не хотел использовать связанные серверы рядом с безопасностью, которую я получил в прошлом (другой разработчик не смог что-то сделать так, как я его настроил, и в конечном итоге ставил SA для аутентификации и т. Д.), но также потому, что этот процесс должен быть способен нажимать на несколько серверов и легко перейти к новым, и довольно просто изменить строку подключения с конфигурациями пакетов в SSIS. Конечно, это может быть сделано со связанными серверами и с немного динамическим SQL. – schiznig