Container von SQL Server Integration Services

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

Bei Containern handelt es sich um Objekte in SQL Server Integration Services, die eine Struktur für Pakete, Dienste sowie Tasks bereitstellen. Sie unterstützen wiederholte Kontrollflüsse in Paketen und gruppieren Aufgaben und Container zu sinnvollen Arbeitseinheiten. Container können neben Aufgaben auch andere Container enthalten.

Pakete verwenden Container für folgende Zwecke:

  • Wiederholen von Tasks für jedes Element in einer Auflistung, z. B. Dateien in einem Ordner, Schemas oder SMO-Objekte ( SQL Server Management Objects). Beispielsweise kann ein Paket Transact-SQL-Anweisungen ausführen, die in mehreren Dateien vorhanden sind.

  • Wiederholen von Tasks, bis ein angegebener Ausdruck zu falseausgewertet wird. Beispielsweise kann von einem Paket siebenmal eine unterschiedliche E-Mail-Nachricht gesendet werden, einmal für jeden Wochentag.

  • Gruppieren Sie Aufgaben und Container, die als Einheit erfolgreich sein oder fehlschlagen müssen. Beispielsweise kann ein Paket Tasks gruppieren, mit denen Zeilen in einer Datenbanktabelle gelöscht und hinzugefügt werden, und anschließend einen Commit oder ein Rollback für alle Tasks ausführen, wenn bei einem Task ein Fehler auftritt.

Containertypen

Integration Services stellt vier verschiedene Containertypen zum Erstellen von Paketen bereit. In der folgenden Tabelle sind die Containertypen aufgeführt.

Container BESCHREIBUNG
Foreach-Schleifencontainer Führt einen Kontrollfluss wiederholt mithilfe eines Enumerators aus.
For-Schleifencontainer Führt einen Kontrollfluss wiederholt aus, indem eine Bedingung geprüft wird.
Container für Sequenzen Gruppiert Aufgaben und Container in Kontrollflüssen, die Teilmengen des Paketkontrollflusses sind.
Taskhost-Container Stellt Dienste für eine einzelne Aufgabe bereit.

Pakete und Ereignishandler sind ebenfalls Containertypen. Weitere Informationen finden Sie unter Integration Services-Pakete (SSIS) und Integration Services-Ereignishandler (SSIS).

Zusammenfassung der Containereigenschaften

Alle Containertypen haben einen Teil der Eigenschaften gemeinsam. Wenn Sie Pakete mithilfe des grafischen Tools erstellen, das von Integration Services bereitgestellt wird, werden im Eigenschaftenfenster die folgenden Eigenschaften für die Foreach-Schleife, die For-Schleife und die Sequenzcontainer aufgelistet. Die Eigenschaften des Taskhostcontainers werden im Rahmen der Konfiguration der Aufgabe konfiguriert, die vom Taskhost gekapselt wird. Sie legen die Eigenschaften des Tasks für den Host fest, wenn Sie den Task konfigurieren.

Eigenschaft BESCHREIBUNG
DelayValidation Ein boolescher Wert, der angibt, ob die Überprüfung des Containers bis zur Ausführungszeit ausgesetzt wird. Der Standardwert dieser Eigenschaft ist False.

Weitere Informationen finden Sie unter DelayValidation.
Beschreibung Die Containerbeschreibung. Die Eigenschaft enthält eine Zeichenfolge, die aber möglicherweise leer ist.

Weitere Informationen finden Sie unter Description.
Deaktivieren Ein boolescher Wert, der angibt, ob der Container läuft. Der Standardwert dieser Eigenschaft ist False.

Weitere Informationen finden Sie unter Disable.
DisableEventHandlers Ein boolescher Wert, der angibt, ob die dem Container zugeordneten Ereignishandler ausgeführt werden. Der Standardwert dieser Eigenschaft ist False.
FailPackageOnFailure Ein boolescher Wert, der angibt, ob ein Paketfehler auftritt, wenn der Container fehlerhaft ist. Der Standardwert dieser Eigenschaft ist False.

Weitere Informationen finden Sie unter FailPackageOnFailure.
FailParentOnFailure Ein boolescher Wert, der angibt, ob der übergeordnete Container fehlschlägt, wenn im Container ein Fehler auftritt. Der Standardwert dieser Eigenschaft ist False.

Weitere Informationen finden Sie unter FailParentOnFailure.
ForcedExecutionValue Ein Objekt, das den optionalen Ausführungswert für den Container enthält, falls ForceExecutionValue auf Truefestgelegt ist. Der Standardwert dieser Eigenschaft ist 0.

Weitere Informationen finden Sie unter ForcedExecutionValue.
ForcedExecutionValueType Der Datentyp von ForcedExecutionValue. Der Standardwert dieser Eigenschaft ist Int32.
ForceExecutionResult Ein Wert, der das Ergebnis der erzwungenen Ausführung des Pakets oder Containers angibt. Mögliche Werte sind None, Success, Failureund Completion. Der Standardwert dieser Eigenschaft ist None.

Weitere Informationen finden Sie unter ForceExecutionResult.
ForceExecutionValue Ein boolescher Wert, der angibt, ob der optionale Ausführungswert des Containers erzwungen werden soll, einen bestimmten Wert zu enthalten. Der Standardwert dieser Eigenschaft ist False.

Weitere Informationen finden Sie unter ForceExecutionValue.
ID Der Container-GUID, der dem Paket beim Erstellen zugewiesen wird. Diese Eigenschaft ist schreibgeschützt.

ID.
IsolationLevel Die Isolationsstufe der Containertransaktion. Die Werte sind Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializable und Snapshot. Der Standardwert dieser Eigenschaft ist Serializable. Weitere Informationen finden Sie unter IsolationLevel.
LocaleID Ein Microsoft Win32-Gebietsschema. Der Standardwert dieser Eigenschaft ist das Gebietsschema des Betriebssystems auf dem lokalen Computer.

Weitere Informationen finden Sie unter LocaleID.
LoggingMode Ein Wert, der das Protokollierungsverhalten des Containers angibt. Mögliche Werte sind Disabled, Enabledund UseParentSetting. Der Standardwert dieser Eigenschaft ist UseParentSetting. Weitere Informationen finden Sie unter DTSLoggingMode.
MaximumErrorCount Die maximal zulässige Anzahl von Fehlern, nach der die Ausführung eines Containers beendet wird. Der Standardwert dieser Eigenschaft ist 1.

Weitere Informationen finden Sie unter MaximumErrorCount.
Name Der Name des Containers,

Weitere Informationen finden Sie unter Name.
TransactionOption Die Transaktionsteilnahme des Containers. Mögliche Werte sind NotSupported, Supportedund Required. Der Standardwert dieser Eigenschaft ist Supported. Weitere Informationen finden Sie unter DTSTransactionOption.

Informationen über alle Eigenschaften, die für Foreach Loop-, For Loop-, Sequence- und Task Host-Container verfügbar sind, wenn Sie diese programmgesteuert konfigurieren, finden Sie in den folgenden Themen zur Integration Services-API:

  • T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop

  • T:Microsoft.SqlServer.Dts.Runtime.ForLoop

  • T:Microsoft.SqlServer.Dts.Runtime.Sequence

  • T:Microsoft.SqlServer.Dts.Runtime.TaskHost

Objekte, die die Containerfunktionalität erweitern

Container enthalten Ablaufsteuerungen, die aus ausführbaren Dateien und Rangfolgeneinschränkungen bestehen und Ereignishandler und Variablen verwenden können. Der Taskhostcontainer ist eine Ausnahme, da er einen einzelnen Task kapselt und deshalb keine Rangfolgeneinschränkungen verwendet.

Ausführbare Dateien

Ausführbare Elemente bezeichnet die Aufgaben auf Containerebene sowie alle Container innerhalb des Containers. Eine ausführbare Datei kann einer der Tasks und Container sein, die Integration Services bereitstellt, oder ein benutzerdefinierter Task. Weitere Informationen finden Sie unter Integration Services-Tasks.

Rangfolgeneinschränkungen

Vorrangseinschränkungen verbinden Container und Aufgaben innerhalb desselben übergeordneten Containers zu einem geordneten Kontrollfluss. Weitere Informationen finden Sie unter Rangfolgeneinschränkungen.

Ereignishandler

Ereignishandler auf Containerebene entsprechen Ereignissen, die vom Container oder den darin enthaltenen Objekten ausgelöst werden. Weitere Informationen finden Sie unter Integration Services-Ereignishandler (SSIS).

Variablen

Zu Variablen, die in Containern verwendet werden, zählen die Systemvariablen auf Containerebene, die von Integration Services bereitgestellt werden, und die benutzerdefinierten Variablen, die der Container verwendet. Weitere Informationen finden Sie unter Integration Services-Variablen (SSIS).

Haltepunkte

Wenn Sie einen Breakpoint für einen Container festlegen und die Unterbrechungsbedingung Unterbrechen, wenn der Container das OnVariableValueChanged-Ereignis empfängtlautet, definieren Sie die Variable im Containerbereich.