Rangfolgeneinschränkungen
Gilt für: SQL Server SSIS Integration Runtime in Azure Data Factory
Rangfolgeneinschränkungen verknüpfen ausführbare Dateien, Container und Tasks in Paketen in einer Ablaufsteuerung und geben Bedingungen an, die bestimmen, ob ausführbare Dateien ausgeführt werden. Bei einer ausführbaren Datei kann es sich um einen For-Schleifencontainer, einen Foreach-Schleifencontainer, einen Task oder einen Ereignishandler handeln. Ereignishandler verwenden Rangfolgeneinschränkungen zum Verlinken der ausführbaren Dateien zu einer Ablaufsteuerung.
Eine Rangfolgeneinschränkung verlinkt zwei ausführbare Dateien: die ausführbare Datei der Rangfolge und die eingeschränkte ausführbare Datei. Die ausführbare Datei der Rangfolge wird vor der eingeschränkten ausführbaren Datei ausgeführt, und das Ausführungsergebnis der ausführbaren Datei der Rangfolge kann bestimmen, ob die eingeschränkte ausführbare Datei ausgeführt wird. Im folgenden Diagramm werden zwei ausführbare Dateien dargestellt, die durch eine Rangfolgeneinschränkung verlinkt sind.
Bei einer linearen Ablaufsteuerung, also einer Ablaufsteuerung ohne Verzweigungen, bestimmen Rangfolgeneinschränkungen alleine die Reihenfolge, in der Tasks ausgeführt werden. Falls sich eine Ablaufsteuerung verzweigt, bestimmt die Integration Services-Runtime-Engine die Ausführungsreihenfolge für die Tasks und Container, die unmittelbar auf die Verzweigung folgen. Die Runtime-Engine bestimmt außerdem die Ausführungsreihenfolge für nicht verbundene Workflows in einer Ablaufsteuerung.
Die geschachtelte Containerarchitektur von Integration Services ermöglicht allen Containern (mit Ausnahme des Taskhostcontainers, der nur einen einzelnen Task kapselt), andere Container mit jeweils eigener Ablaufsteuerung einzuschließen. Der For-Schleifencontainer, der Foreach-Schleifencontainer und der Sequenzcontainer können mehrere Tasks und andere Container, die wiederum mehrere Tasks und Container enthalten können, einschließen. Angenommen, ein Paket mit einem Skripttask und einem Sequenzcontainer weist eine Rangfolgeneinschränkung auf, die den Skripttask und den Sequenzcontainer verlinkt. Der Sequenzcontainer schließt drei Skripttasks ein, und die Rangfolgeneinschränkungen verlinken die drei Skripttasks zu einer Ablaufsteuerung. Im folgenden Diagramm werden die Rangfolgeneinschränkungen in einem Paket mit zwei Schachtelungsebenen dargestellt.
Das Paket befindet sich ganz oben in der SSIS -Containerhierarchie. Deshalb können mehrere Pakete nicht durch Rangfolgeneinschränkungen verlinkt werden. Sie können jedoch einem Paket einen Task Paket ausführen hinzufügen und indirekt ein anderes Paket mit der Ablaufsteuerung verlinken.
Es gibt folgende Möglichkeiten, um Rangfolgeneinschränkungen zu konfigurieren:
Geben Sie einen Auswertungsvorgang an. Die Rangfolgeneinschränkung verwendet einen Einschränkungswert und/oder einen Ausdruck, um zu bestimmen, ob die eingeschränkte ausführbare Datei ausgeführt wird.
Falls die Rangfolgeneinschränkung ein Ausführungsergebnis verwendet, können Sie als Ausführungsergebnis Erfolg, Fehler oder Beendigung angeben.
Falls die Rangfolgeneinschränkung ein Auswertungsergebnis verwendet, können Sie einen Ausdruck angeben, der zu einem booleschen Wert ausgewertet wird.
Geben Sie an, ob die Rangfolgeneinschränkung einzeln oder zusammen mit anderen Einschränkungen, die auf die eingeschränkte ausführbare Datei zutreffen, ausgewertet wird.
Auswertungsvorgänge
Integration Services stellt die folgenden Auswertungsvorgänge bereit:
Eine Einschränkung, die nur mithilfe des Ausführungsergebnisses der ausführbaren Datei der Rangfolge bestimmt, ob die eingeschränkte ausführbare Datei ausgeführt wird. Das Ausführungsergebnis der ausführbaren Datei der Rangfolge kann Beendigung, Erfolg oder Fehler sein. Dies ist der Standardvorgang.
Einen Ausdruck, der ausgewertet wird, um zu bestimmen, ob die eingeschränkte ausführbare Datei ausgeführt wird. Falls der Ausdruck zu True ausgewertet wird, wird die eingeschränkte ausführbare Datei ausgeführt.
Einen Ausdruck und eine Einschränkung, die die Anforderungen von Ausführungsergebnissen der ausführbaren Datei der Rangfolge mit den zurückgegebenen Ergebnisse aus der Auswertung des Ausdrucks kombiniert.
Einen Ausdruck oder eine Einschränkung, der bzw. die die Ausführungsergebnisse der ausführbaren Datei der Rangfolge oder die zurückgegebenen Ergebnisse aus der Auswertung des Ausdrucks verwendet.
SSIS -Designer identifiziert mithilfe einer Farbcodierung den Typ der Rangfolgeneinschränkung. Die Success-Einschränkung ist grün, die Failure-Einschränkung ist rot und die Completion-Einschränkung ist blau. Zum Anzeigen von Beschriftungen im SSIS -Designer, die den Typ der Einschränkung anzeigen, müssen Sie die Barrierefreiheitsfunktionen des SSIS -Designers konfigurieren.
Der Ausdruck muss ein gültiger SSIS -Ausdruck sein, der Funktionen, Operatoren sowie Systemvariablen und benutzerdefinierte Variablen einschließen kann. Weitere Informationen finden Sie unter Integration Services-Ausdrücke (SSIS) und Integration Services-Variablen (SSIS).
Ausführungsergebnisse
Die Rangfolgeneinschränkung kann die folgenden Ausführungsergebnisse separat oder in Kombination mit einem Ausdruck verwenden.
Für die Beendigung muss die ausführbare Datei der Rangfolge ungeachtet des Ergebnisses abgeschlossen worden sein, damit die eingeschränkte ausführbare Datei ausgeführt wird.
Für Erfolg muss die ausführbare Datei der Rangfolge erfolgreich abgeschlossen worden sein, damit die eingeschränkte ausführbare Datei ausgeführt wird.
Für Fehler muss bei der ausführbaren Datei der Rangfolge ein Fehler auftreten, damit die eingeschränkte ausführbare Datei ausgeführt wird.
Hinweis
Nur Rangfolgeneinschränkungen, die Elemente derselben Precedence Constraint -Auflistung sind, können mit einer logischen AND-Bedingung gruppiert werden. Beispielsweise können Rangfolgeneinschränkungen aus zwei Foreach-Schleifencontainern nicht kombiniert werden.
Festlegen der Eigenschaften von Rangfolgeneinschränkungen mithilfe des Rangfolgeneinschränkungs-Editors
Öffnen Sie in SQL Server Data Tools (SSDT) das Integration Services-Projekt mit dem gewünschten Paket.
Doppelklicken Sie im Projektmappen-Explorerauf das Paket, um es zu öffnen.
Klicken Sie auf die Registerkarte Ablaufsteuerung .
Doppelklicken Sie auf die Rangfolgeneinschränkung.
Das Dialogfeld Rangfolgeneinschränkungs-Editor wird geöffnet.
Wählen Sie in der Dropdownliste Auswertungsvorgang einen Auswertungsvorgang aus.
Wählen Sie in der Dropdownliste Wert das Ausführungsergebnis der ausführbaren Datei der Rangfolge aus.
Wenn der Auswertungsvorgang einen Ausdruck verwendet, geben Sie in das Feld Ausdruck einen Ausdruck ein, und klicken Sie auf Testen , um den Ausdruck auszuwerten.
Hinweis
Bei Variablennamen wird nach Groß-/Kleinschreibung unterschieden.
Falls mehrere Tasks oder Container mit der eingeschränkten ausführbaren Datei verbunden sind, wählen Sie Logisches AND aus, um anzugeben, dass die Ausführungsergebnisse aller vorherigen ausführbaren Dateien zu trueausgewertet werden müssen. Wählen Sie Logisches OR aus, um anzugeben, dass nur ein Ausführungsergebnis zu trueausgewertet werden muss.
Klicken Sie auf OK , um das Dialogfeld Rangfolgeneinschränkungs-Editorzu schließen.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.
Rangfolgeneinschränkungs-Editor
Verwenden Sie das Dialogfeld Rangfolgeneinschränkungs-Editor , um Rangfolgeneinschränkungen zu konfigurieren.
Optionen
Auswertungsvorgang
Geben Sie den Auswertungsvorgang an, den die Rangfolgeneinschränkung verwendet. Folgende Vorgänge sind möglich: Einschränkung, Ausdruck, Ausdruck und Einschränkungund Ausdruck oder Einschränkung.
Wert
Geben Sie den Einschränkungswert an: Erfolg, Fehleroder Beendigung.
Hinweis
Die Rangfolgeneinschränkungslinie wird für Erfolggrün, für Fehlerhervorgehoben und für Beendigungblau dargestellt.
Ausdruck
Wenn Sie den Vorgang Ausdruck, Ausdruck und Einschränkungoder Ausdruck oder Einschränkungverwenden, geben Sie einen Ausdruck ein, oder starten Sie den Ausdrucks-Generator, um einen Ausdruck zu erstellen. Der Ausdruck muss zu einem booleschen Wert ausgewertet werden.
Test
Überprüfen Sie den Ausdruck.
Logisches AND
Damit geben Sie an, dass für die ausführbare Datei mehrere Rangfolgeneinschränkungen gemeinsam überprüft werden müssen. Sämtliche Einschränkungen müssen mit Trueausgewertet werden.
Hinweis
Dieser Typ der Rangfolgeneinschränkung wird als durchgehende grüne, hervorgehobene oder blaue Linie dargestellt.
Logisches OR
Damit geben Sie an, dass für die ausführbare Datei mehrere Rangfolgeneinschränkungen gemeinsam überprüft werden müssen. Mindestens eine Einschränkung muss mit Trueausgewertet werden.
Hinweis
Dieser Typ der Rangfolgeneinschränkung wird als gepunktete grüne, hervorgehobene oder blaue Linie dargestellt.
Festlegen der Eigenschaften von Rangfolgeneinschränkungen mithilfe des Eigenschaftenfensters
Öffnen Sie in SQL Server Data Tools (SSDT)das Integration Services -Projekt mit dem Paket, das Sie ändern möchten.
Doppelklicken Sie im Projektmappen-Explorer auf das Paket, um es zu öffnen.
Klicken Sie auf die Registerkarte Ablaufsteuerung . Klicken Sie in der Entwurfsoberfläche der Registerkarte Ablaufsteuerung mit der rechten Maustaste auf Rangfolgeneinschränkung, und klicken Sie auf Eigenschaften. Ändern Sie im Fenster Eigenschaften die Eigenschaftswerte.
Legen Sie im Fenster Eigenschaften die folgenden Lese-/Schreibeigenschaften der Rangfolgeneinschränkung fest:
Lese/Schreibeigenschaft Konfigurationsaktion BESCHREIBUNG Bereitstellen einer Beschreibung. EvalOp Auswählen eines Auswertungsvorgangs. Wenn die Vorgänge Expression, ExpressionAndConstantoder ExpressionOrConstant ausgewählt sind, können Sie einen Ausdruck angeben. Ausdruck Wenn der Auswertungsvorgang einen Ausdruck einschließt, wird ein Ausdruck bereitgestellt. Der Ausdruck muss zu einem booleschen Wert ausgewertet werden. Weitere Informationen zur Ausdruckssprache finden Sie unter Integration Services-Ausdrücke (SSIS). LogicalAnd Legen Sie LogicalAnd fest, um anzugeben, ob die Rangfolgeneinschränkung zusammen mit anderen Rangfolgeneinschränkungen ausgewertet wird, wenn mehrere ausführbare Dateien vorausgehen und mit der eingeschränkten ausführbaren Datei verlinkt sind. Name Aktualisieren des Namens der Rangfolgeneinschränkung. ShowAnnotation Geben Sie den Typ der zu verwendenden Anmerkung ein. Wählen Sie Never aus, um Anmerkungen zu deaktivieren, AsNeeded , um Anmerkungen bei Bedarf zu aktivieren, ConstraintName , um automatisch den Wert mithilfe der Name-Eigenschaft anzumerken, ConstraintDescription , um automatisch den Wert mithilfe der Description-Eigenschaft anzumerken, und ConstraintOptions , um automatisch den Wert mithilfe der Eigenschaften Value und Expression anzumerken. Wert Wenn der Auswertungsvorgang in der EvalOP-Eigenschaft eine Einschränkung enthält, wählen Sie das Ausführungsergebnis der eingeschränkten ausführbaren Datei aus. Schließen Sie das Fenster Eigenschaften.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.
Festlegen des Werts einer Rangfolgeneinschränkung mithilfe des Kontextmenüs
Öffnen Sie in SQL Server Data Tools (SSDT) das Integration Services-Projekt mit dem gewünschten Paket.
Doppelklicken Sie im Projektmappen-Explorerauf das Paket, um es zu öffnen.
Klicken Sie auf die Registerkarte Ablaufsteuerung .
Klicken Sie auf der Entwurfsoberfläche der Registerkarte Ablaufsteuerung mit der rechten Maustaste auf die Rangfolgeneinschränkung, und klicken Sie dann auf Erfolg, Fehleroder Beendigung.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.
Hinzufügen von Ausdrücken zu Rangfolgeneinschränkungen
Eine Rangfolgeneinschränkung kann mithilfe eines Ausdrucks die Einschränkung zwischen zwei ausführbaren Dateien definieren, nämlich der ausführbaren Datei der Rangfolge und der eingeschränkten ausführbaren Datei. Bei den ausführbaren Dateien kann es sich um Tasks oder Container handeln. Der Ausdruck kann separat oder in Kombination mit dem Ausführungsergebnis der ausführbaren Datei der Rangfolge verwendet werden. Das Ausführungsergebnis einer ausführbaren Datei ist Erfolg oder Fehler. Wenn Sie das Ausführungsergebnis einer Rangfolgeneinschränkung konfigurieren, können Sie das Ausführungsergebnis auf Success, Failureoder Completionfestlegen. FürSuccess muss die ausführbare Datei der Rangfolge erfolgreich ausgeführt werden, für Failure muss die ausführbare Datei der Rangfolge mit einem Fehler ausgeführt werden. Completion zeigt an, dass die eingeschränkte ausführbare Datei unabhängig von einer erfolgreichen Ausführung des Rangfolgentasks ausgeführt werden sollte. Weitere Informationen finden Sie unter Rangfolgeneinschränkungen.
Der Ausdruck muss zu Wahr oder Falsch ausgewertet werden, und er muss ein gültiger Integration Services -Ausdruck sein. Für diesen Ausdruck sind Literale, Systemvariablen und benutzerdefinierte Variablen sowie die Funktionen und Operatoren zulässig, die von der SSIS -Ausdrucksgrammatik bereitgestellt werden. Beispielsweise verwendet der Ausdruck @Count == SQRT(144) + 10
die Count-Variable, die SQRT-Funktion und die Operatoren „equal“ (==) und „add“ (+) . Weitere Informationen finden Sie unter Integration Services-Ausdrücke (SSIS).
In der folgenden Abbildung sind Task A und Task B durch eine Rangfolgeneinschränkung miteinander verlinkt, die ein Ausführungsergebnis und einen Ausdruck verwendet. Der Einschränkungswert ist auf Success festgelegt, und der Ausdruck lautet @X >== @Z
. Task B, der eingeschränkte Task, wird nur ausgeführt, wenn Task A erfolgreich abgeschlossen wird und der Wert der X -Variablen größer oder gleich dem Wert der Z-Variablen ist.
Ausführbare Dateien können auch mithilfe mehrerer Rangfolgeneinschränkungen miteinander verlinkt werden, die unterschiedliche Ausdrücke enthalten. Beispielsweise sind in der folgenden Abbildung Task B und Task C mit Task A durch Rangfolgeneinschränkungen verlinkt, die Ausführungsergebnisse und Ausdrücke verwenden. Beide Einschränkungswerte sind auf Success festgelegt. Eine Rangfolgeneinschränkung enthält den Ausdruck @X >== @Z
, und die andere Rangfolgeneinschränkung den Ausdruck @X < @Z
. In Abhängigkeit von den Werten der X -Variablen und der Z-Variablen wird Task C oder Task B ausgeführt.
Mit dem Rangfolgeneinschränkungs-Editor im SSIS -Designer und im Eigenschaftenfenster von SQL Server Data Tools (SSDT) können Sie einen Ausdruck hinzufügen oder ändern. Das Eigenschaftenfenster ermöglicht jedoch keine Überprüfung der Ausdruckssyntax.
Wenn eine Rangfolgeneinschränkung einen Ausdruck einschließt, wird auf der Entwurfsoberfläche der Registerkarte Ablaufsteuerung neben der Rangfolgeneinschränkung ein Symbol angezeigt, und die QuickInfo auf dem Symbol zeigt den Ausdruck an.
Hinzufügen einer Rangfolgeneinschränkung zu einem Ausdruck
Öffnen Sie in SQL Server Data Tools (SSDT) das Integration Services-Projekt mit dem gewünschten Paket.
Doppelklicken Sie im Projektmappen-Explorerauf das Paket, um es zu öffnen.
Klicken Sie auf die Registerkarte Ablaufsteuerung .
Doppelklicken Sie auf der Entwurfsoberfläche der Registerkarte Ablaufsteuerung auf die Rangfolgeneinschränkung. Das Dialogfeld Rangfolgeneinschränkungs-Editor wird geöffnet.
Wählen Sie Ausdruck, Ausdruck und Einschränkungoder Ausdruck oder Einschränkung in der Liste Auswertungsvorgang aus.
Geben Sie in das Textfeld Ausdruck einen Ausdruck ein, oder starten Sie den Ausdrucks-Generator, um einen Ausdruck zu erstellen.
Klicken Sie auf Testen, um die Ausdruckssyntax zu überprüfen.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.
Kombinieren von Ausführungswerten und Ausdrücken
In der folgenden Tabelle werden die Auswirkung durch das Kombinieren einer Ausführungswerteinschränkung und eines Ausdrucks in einer Rangfolgeneinschränkung beschrieben.
Auswertungsvorgang | Einschränkung wird ausgewertet zu | Ausdruck wird ausgewertet zu | Eingeschränkte ausführbare Datei wird ausgeführt |
---|---|---|---|
Constraint | True | – | True |
Constraint | False | – | False |
Ausdruck | – | True | True |
Ausdruck | – | False | False |
Einschränkung und Ausdruck | True | True | True |
Einschränkung und Ausdruck | True | False | False |
Einschränkung und Ausdruck | False | True | False |
Einschränkung und Ausdruck | False | False | False |
Einschränkung oder Ausdruck | True | True | True |
Einschränkung oder Ausdruck | True | Falsch | True |
Einschränkung oder Ausdruck | False | Wahr | True |
Einschränkung oder Ausdruck | False | False | False |
Komplexe Einschränkungsszenarien mit mehreren Rangfolgeneinschränkungen
Eine Rangfolgeneinschränkung verbindet zwei ausführbare Dateien: zwei Tasks, zwei Container oder einen Task und einen Container. Sie werden als ausführbare Datei der Rangfolge und als eingeschränkte ausführbare Datei bezeichnet. Eine eingeschränkte ausführbare Datei kann mehrere Rangfolgeneinschränkungen haben. Weitere Informationen finden Sie unter Rangfolgeneinschränkungen.
Wenn Sie komplexe Einschränkungsszenarien durch Gruppieren von Einschränkungen zusammenfassen, können Sie eine komplexe Ablaufsteuerung in Paketen implementieren. Beispielsweise ist in der folgenden Abbildung der Task D mit dem Task A durch eine Success -Einschränkung verlinkt, der Task D ist mit dem Task B durch eine Failure -Einschränkung verlinkt, und der Task D ist mit dem Task C durch eine Success -Einschränkung verlinkt. Die Rangfolgeneinschränkungen zwischen Task D und Task A, zwischen Task D und Task B sowie zwischen Task D und Task C nehmen an einer logischen AND -Beziehung teil. Damit Task D ausgeführt wird, muss Task A erfolgreich ausgeführt werden, bei Task B muss ein Fehler auftreten, und Task C muss erfolgreich ausgeführt werden.
LogicalAnd-Eigenschaft
Falls ein Task oder ein Container mehrere Einschränkungen aufweist, gibt die LogicalAnd -Eigenschaft an, ob eine Rangfolgeneinschränkung einzeln oder zusammen mit anderen Einschränkungen ausgewertet wird.
Sie können die LogicalAnd -Eigenschaft mithilfe des Rangfolgeneinschränkungs-Editors im SSIS -Designer oder im Eigenschaftenfenster von SQL Server Data Tools (SSDT) festlegen.
Festlegen des Standardwerts für Rangfolgeneinschränkungen
Wenn Sie den SSIS -Designer zum ersten Mal verwenden, lautet der Standardwert einer Rangfolgeneinschränkung Erfolg. Führen Sie die folgenden Schritte aus, um für den SSIS -Designer einen anderen Standardwert für Rangfolgeneinschränkungen zu konfigurieren.
Öffnen Sie SQL Server Data Tools (SSDT).
Klicken Sie im Menü Extras auf Optionen.
Erweitern Sie im Dialogfeld Optionen den Ordner Business Intelligence-Designer , und erweitern Sie dann Integration Services-Designer.
Klicken Sie auf Automatische Ablaufsteuerungsverbindung , und aktivieren Sie das Kontrollkästchen Neue Form standardmäßig mit der ausgewählten Form verbinden.
Wählen Sie in der Dropdownliste Failure-Einschränkung für die neue Form verwenden oder Completion-Einschränkung für die neue Form verwendenaus.
Klicken Sie auf OK.
Erstellen einer Standard-Rangfolgeneinschränkung
Öffnen Sie in SQL Server Data Tools (SSDT) das Integration Services-Projekt mit dem gewünschten Paket.
Doppelklicken Sie im Projektmappen-Explorerauf das Paket, um es zu öffnen.
Klicken Sie auf die Registerkarte Ablaufsteuerung .
Klicken Sie in der Entwurfsoberfläche der Registerkarte Ablaufsteuerung auf den Task oder Container, und ziehen Sie dessen Konnektor auf die ausführbare Datei, auf die Sie die Rangfolgeneinschränkung anwenden möchten.
Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.