SSIS-Prüfpunkte sind Container für For-Schleife oder Foreach-Schleife nicht berücksichtigt.

Gilt für: SQL Server 2008 EnterpriseMicrosoft SQL Server 2005 Enterprise EditionSQL Server 2008 R2 Datacenter

Problembeschreibung


Betrachten Sie das folgende Szenario:

  • Microsoft SQL Server Integration Services werden auf einem Computer installieren.
  • Sie erstellen ein SSIS-Paket, das Für Schleifencontainer enthält, der eine Sequenzcontainerfolgt.
  • Für Schleifencontainer und Sequenz Containerelemente sind folgende:
    • Ein Task SQL ausführen (oder)
    • Zwei oder mehr SQL-Task ausführen(s), die parallel ausgeführt werden.
  • Sie aktivieren die Checkpoint -Einstellung für das SSIS-Paket.
  • Das SSIS-Paket ausführen
  • Für Schleifencontainer abgeschlossen und paketausführung in Folge Container .
  • Sie führen Sie eine der folgenden Vorgehensweisen:
    • Pakete mit einer einzigen SQL Task ausführen Ausführung des Pakets beenden, während die Aufgabe noch ausgeführt wird.
    • Für mehrere SQL-Tasks ausführen-Pakete Sie entweder Ausführung des Pakets oder einem Ausfall einzelner Vorgänge auftreten, während andere Task SQL ausführen (s) wird noch ausgeführt.
  • Das SSIS-Paket erneut ausgeführt.
In diesem Szenario beginnt Paket Für Schleifencontainer anstelle der Sequenzcontainer.

Hinweis: Dieses Problem hängt nicht SQL-Task ausführen. Mit anderen Aufgaben möglicherweise.

Ursache


Dieses Verhalten ist entwurfsbedingt. Checkpoint-Daten werden nicht für den Container Für Schleifencontainer und Foreach-Schleife . Wenn ein untergeordneter Container in der Schleife erfolgreich ausgeführt wird, wird es nicht in der Prüfpunktdatei aufgezeichnet. Neustart des Pakets werden die Aufgaben in jeder dieser Container Elemente also erneut ausgeführt.

PROBLEMUMGEHUNG


Um das Problem zu umgehen, umschließen Sie die For-Schleife oder Foreach-Schleifencontainer innerhalb einer Sequenzcontainer.