Freigeben über


Ausführen eines inkrementellen Ladens von mehreren Tabellen

Gilt für:SQL Server SSIS Integration Runtime in Azure Data Factory

Im Thema Verbessern des inkrementellen Ladens mit Change Data Captureveranschaulicht das Diagramm ein einfaches Paket, 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 können diese Schritte in Integration Services auf mehr als eine Art implementieren:

  • Verwenden Sie ein übergeordnetes Paket und untergeordnete Pakete.

  • Verwenden Sie mehrere Datenflusstasks in einem einzelnen Paket.

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 die Aufgabe „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 Verwenden der Werte von Variablen und Parametern 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 zum 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 zur Abfrage der Änderungstabellen finden Sie unter Abrufen und Verstehen der Änderungsdaten.

    2. Verwenden Sie eine Transformation für bedingtes Teilen, um Einfügungen, Updates 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, Updates 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 Updates und Löschungen auf das Ziel anzuwenden.

      Ein Beispiel für die Verwendung dieser Transformation zur Anwendung von Updates 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 die Aufgabe „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 zum 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 zur Abfrage der Änderungstabellen finden Sie unter Abrufen und Verstehen der Änderungsdaten.

    2. Verwenden Sie eine Transformation für bedingtes Teilen, um Einfügungen, Updates 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, Updates 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 Updates und Löschungen auf das Ziel anzuwenden.

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