Лучший метод для пакета ETL, чтобы загрузить все данные сначала, а затем при следующем запуске, чтобы загрузить только изменения или новые элементы - PullRequest
0 голосов
/ 01 ноября 2018

Я новичок в SSIS и хотел бы, чтобы наилучшим способом создания пакета ETL была загрузка всех данных сначала, а затем при следующем запуске загружались только изменения или новые элементы. Я буду использовать пакет в расписании работы SQL. Я знаю, что мог бы установить пакет служб SSIS для усечения таблицы назначения, но для меня это пустая трата ресурсов, и, если речь идет о больших таблицах, журнал транзакций будет огромным.

Заранее спасибо!

1 Ответ

0 голосов
/ 01 ноября 2018

Я думаю, что есть более одного метода для достижения этого:

  1. Добавление справочной таблицы, которая содержит последний вставленный идентификатор (или значение первичного ключа), и эта таблица должна обновляться каждый раз.
  2. Используя Change Data Capture (CDC) , вы можете обратиться к этой статье для получения дополнительной информации об этом: Введение в Change Data Capture (CDC) в SQL Server 2008 (Обратите внимание, что база данных должна быть настроена для включения CDC - может не работать в вашей ситуации)
  3. Добавление столбца LastUpdate в таблицу и дата только для чтения, где значение столбца LastUpdate превышает дату последнего выполняемого задания SSIS.
...