Миграция данных служб SSIS / ежедневная копия: родитель + потомок, а затем множество таблиц внуков - PullRequest
0 голосов
/ 14 октября 2010

Я прочитал эту ссылку здесь, но этот парень делает однократную копию с 1-й нормальной формы на 3-ю, поэтому я делаю не так: StackOverflowPosting

Я перехожу с 3-й нормальной формы на 3-ую обычную форму, практически такой же дизайн, ежедневно, только копируя новые данные.

Пример данных

Родитель

  • ParentId
  • Дата создания

Дети

  • ChildId
  • Дата создания
  • FK_to_ParentId
  • Дочерние данные

GrandChild1

  • GrandChild1Id
  • FK_to_ChildId
  • GrandChild1Data

GrandChild2

  • GrandChild2Id
  • FK_to_ChildId
  • GrandChild2Data

Пока у меня есть

  • DataFlow, который отзовет все Родители после определенной даты.
  • DataFlow, который отзовет все дочерние таблицы, созданные после определенная дата, с поиском в найти «новый» ФК в новом база данных.
  • Теперь мне нужно отступить grand child1 и так далее, но я не хочу тянуть их всех назад,
    посмотрите вверх и выбросьте У меня уже есть, я хочу только тянуть
    верни те, которые мне нужны.

Есть идеи?

1 Ответ

0 голосов
/ 15 октября 2010

В конце концов, я только что использовал внутреннее объединение, используя дату и время, где это возможно, но когда я получаю данные, мне нужно выполнить поиск, чтобы найти «новый» идентификатор FK, который нужно вставить в child & grand дочерние столы. Это означает, что данные для Parent и Child по-прежнему должны содержать «старый» идентификатор, но это нормально. так что для дочернего стола вы получите что-то похожее на это:

Источник данных -> Поиск, используя текущий FK в родительской таблице, чтобы найти новый родительский PK, добавив, что делает его уникальным [замените FK на только что найденный PK] -> хранилище данных.

...