Freigeben über


Ausführen eines inkrementellen Ladens von mehreren Tabellen

Im Thema Improving Incremental Loads with Change Data Capture wird im Diagramm ein einfaches Paket veranschaulicht, das ein inkrementelles Laden in nur einer Tabelle ausführt. Das Laden einer Tabelle ist jedoch nicht so üblich wie das Ausführen eines inkrementellen Ladens von mehreren Tabellen.

Wenn Sie ein inkrementelles Laden von mehreren Tabellen ausführen, müssen einige Schritte einmal für alle Tabellen ausgeführt werden, und andere Schritte müssen für jede Quelltabelle wiederholt werden. Sie haben mehr als eine Option zum Implementieren dieser Schritte in Integration Services:

  • Verwenden Sie ein übergeordnetes Paket und untergeordnete Pakete.

  • Verwenden Sie mehrere Datenflusstasks in einem einzelnen Paket.

HinweisHinweis

Vollständige End-to-End-Beispiele, die die Verwendung von Change Data Capture in Paketen veranschaulichen, finden Sie im Beispiel "Change Data Capture for Specified Interval Package" und im Beispiel "Change Data Capture since Last Request Package" unter Codeplex.

Laden von mehreren Tabellen mit einem übergeordneten Paket und mehreren untergeordneten Paketen

Sie können ein übergeordnetes Paket verwenden, um jene Schritte auszuführen, die nur einmal gemacht werden müssen. Die untergeordneten Pakete führen jene Schritte aus, die für jede Quelltabelle gemacht werden müssen.

So erstellen Sie ein übergeordnetes Paket, das jene Schritte ausführt, die nur einmal gemacht werden müssen

  1. Erstellen eines übergeordneten Pakets.

  2. Verwenden Sie in der Ablaufsteuerung einen Task "SQL ausführen" oder Integration Services-Ausdrücke, um die Endpunkte zu berechnen.

    Ein Beispiel zur Berechnung von Endpunkten finden Sie unter Angeben eines Intervalls von Änderungsdaten.

  3. Verwenden Sie bei Bedarf einen For-Schleifencontainer, um die Ausführung so lange zu verzögern, bis die Änderungsdaten für den ausgewählten Zeitraum bereit sind.

    Ein Beispiel eines solchen For-Schleifencontainers finden Sie unter Bestimmen, ob die Änderungsdaten bereit sind.

  4. Verwenden Sie mehrere Tasks "Paket ausführen", um untergeordnete Pakete für jede zu ladende Tabelle auszuführen. Übergeben Sie die im übergeordneten Paket berechneten Endpunkte an jedes untergeordnete Paket, indem Sie die Variablenkonfiguration für übergeordnete Pakete verwenden.

    Weitere Informationen finden Sie unter Paket ausführen (Task) und unter Vorgehensweise: Verwenden der übergeordneten Variablenwerten in einem untergeordneten Paket.

So erstellen Sie untergeordnete Pakete, um jene Schritte auszuführen, die für jede Quelltabelle gemacht werden müssen

  1. Erstellen Sie für jede Quelltabelle ein untergeordnetes Paket.

  2. Verwenden Sie in der Ablaufsteuerung einen Skripttask oder einen Task "SQL ausführen", um die SQL-Anweisung zusammenzustellen, mit der Änderungen abgefragt werden.

    Ein Beispiel für das Zusammenstellen der Abfrage finden Sie unter Vorbereiten zur Abfrage der Änderungsdaten.

  3. Verwenden Sie in jedem untergeordneten Paket einen einzelnen Datenflusstask, um die Änderungsdaten zu laden und diese auf das Ziel anzuwenden. Konfigurieren Sie den Datenfluss, wie in den folgenden Stufen beschrieben:

    1. Verwenden Sie im Datenfluss eine Quellkomponente, um die Änderungstabellen nach den Änderungen abzufragen, die innerhalb der ausgewählten Endpunkte liegen.

      Ein Beispiel für die Abfrage der Änderungstabellen finden Sie unter Abrufen und Verstehen der Änderungsdaten.

    2. Verwenden Sie eine Transformation für bedingtes Teilen, um Einfügungen, Aktualisierungen und Löschungen an andere Ausgaben zur entsprechenden Verarbeitung weiterzuleiten.

      Ein Beispiel für die Konfiguration dieser Transformation zur Weiterleitung einer Ausgabe finden Sie unter Verarbeiten von Einfügungen, Aktualisierungen und Löschungen.

    3. Verwenden Sie eine Zielkomponente, um die Einfügungen auf das Ziel anzuwenden. Verwenden Sie Transformationen für OLE DB-Befehl mit parametrisierten UPDATE- und DELETE-Anweisungen, um Aktualisierungen und Löschungen auf das Ziel anzuwenden.

      Ein Beispiel für die Verwendung dieser Transformation zur Anwendung von Aktualisierungen und Löschungen finden Sie unter Anwenden der Änderungen auf das Ziel.

Laden von mehreren Tabellen mit mehreren Datenflusstasks in einem einzelnen Paket

Alternativ können Sie ein einzelnes Paket verwenden, das für jede zu ladende Quelltabelle einen separaten Datenflusstask enthält.

So laden Sie mehrere Tabellen mit mehreren Datenflusstasks in einem einzelnen Paket

  1. Erstellen eines einzelnen Pakets.

  2. Verwenden Sie in der Ablaufsteuerung einen Task "SQL ausführen" oder Integration Services-Ausdrücke, um die Endpunkte zu berechnen.

    Ein Beispiel zur Berechnung von Endpunkten finden Sie unter Angeben eines Intervalls von Änderungsdaten.

  3. Verwenden Sie bei Bedarf einen For-Schleifencontainer, um die Ausführung so lange zu verzögern, bis die Änderungsdaten für das ausgewählte Intervall bereit sind.

    Ein Beispiel eines solchen For-Schleifencontainers finden Sie unter Bestimmen, ob die Änderungsdaten bereit sind.

  4. Verwenden Sie einen Skripttask oder einen Task "SQL ausführen", um die SQL-Anweisung zusammenzustellen, mit der Änderungen abgefragt werden.

    Ein Beispiel für das Zusammenstellen der Abfrage finden Sie unter Vorbereiten zur Abfrage der Änderungsdaten.

  5. Verwenden Sie mehrere Datenflusstasks, um die Änderungsdaten von jeder Quelltabelle zu laden und diese auf das Ziel anzuwenden. Konfigurieren Sie jeden Datenflusstask, wie in den folgenden Schritten beschrieben:

    1. Verwenden Sie in jedem Datenfluss eine Quellkomponente, um die Änderungstabellen nach den Änderungen abzufragen, die innerhalb der ausgewählten Endpunkte liegen.

      Ein Beispiel für die Abfrage der Änderungstabellen finden Sie unter Abrufen und Verstehen der Änderungsdaten.

    2. Verwenden Sie eine Transformation für bedingtes Teilen, um Einfügungen, Aktualisierungen und Löschungen an andere Ausgaben zur entsprechenden Verarbeitung weiterzuleiten.

      Ein Beispiel für die Konfiguration dieser Transformation zur Weiterleitung einer Ausgabe finden Sie unter Verarbeiten von Einfügungen, Aktualisierungen und Löschungen.

    3. Verwenden Sie eine Zielkomponente, um die Einfügungen auf das Ziel anzuwenden. Verwenden Sie Transformationen für OLE DB-Befehl mit parametrisierten UPDATE- und DELETE-Anweisungen, um Aktualisierungen und Löschungen auf das Ziel anzuwenden.

      Ein Beispiel für die Verwendung dieser Transformation zur Anwendung von Aktualisierungen und Löschungen finden Sie unter Anwenden der Änderungen auf das Ziel.

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf der Integration Services-Seite von MSDN oder TechNet:

Abonnieren Sie die auf der Seite verfügbaren RSS-Newsfeeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.