SSIS-Prüfpunkte werden für For-Schleifen- oder Foreach-Schleifencontainerelemente nicht berücksichtigt.
Dieser Artikel hilft Ihnen, das Problem zu umgehen, bei dem SQL Server Integration Services-Prüfpunkte (SSIS) für For Loop
- oder Foreach Loop
-Containerelemente nicht berücksichtigt werden.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2624458
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
Sie installieren Microsoft SQL Server Integration Services auf einem Computer.
Sie erstellen ein SSIS-Paket, das ein For-Schleifencontainerelement enthält, auf das ein Sequenzcontainer folgt.
Sowohl die Elemente For-Schleifencontainer als auch Sequenzcontainer verfügen über eine der folgenden Elemente:
- Ein Task "SQL ausführen" (OR)
- Zwei oder mehr Task (s) SQL ausführen, die parallel ausgeführt werden.
Sie aktivieren die Prüfpunkteinstellung für das SSIS-Paket.
Sie führen das SSIS-Paket aus
Der For-Schleifencontainer wird abgeschlossen, und die Paketausführung erfolgt im Sequenzcontainer.
Sie führen eine der folgenden Aktionen aus:
- Bei Paketen mit einem einzelnen Task SQL ausführen beenden Sie die Paketausführung, während der Task noch ausgeführt wird.
- Bei Paketen, die mehrere SQL-Tasks ausführen, beenden Sie entweder die Paketausführung, oder sie treten bei einer dieser Aufgaben auf, während andere Tasks "SQL ausführen" noch ausgeführt werden.
Das SSIS-Paket wird erneut ausgeführt.
In diesem Szenario beginnt das Paket mit For Loop
dem Container und nicht mit dem Sequence
Container.
Hinweis
Dieses Problem ist nicht an den Task "SQL ausführen" gebunden. Dies kann auch bei anderen Aufgaben auftreten.
Ursache
Es handelt sich hierbei um ein beabsichtigtes Verhalten. Die Prüfpunktdaten werden für die For Loop
Container- und Foreach Loop
Containerelemente nicht gespeichert. Wenn ein untergeordneter Container in der Schleife erfolgreich ausgeführt wird, wird er nicht in der Prüfpunktdatei aufgezeichnet. Wenn das Paket neu gestartet wird, werden die Aufgaben in jedem dieser Containerelemente erneut ausgeführt.
Problemumgehung
Um das Problem zu umgehen, umschließen Sie den For Loop
Oder den Foreach Loop
Container in einen Sequence
Container.