Freigeben über


Systemvariablen

SQL Server Integration Services stellt eine Reihe von Systemvariablen bereit, mit denen Informationen zum ausgeführten Paket und dessen Objekten gespeichert werden können. Diese Variablen können in Ausdrücken und Eigenschaftsausdrücken verwendet werden, um Pakete, Container, Tasks und Ereignishandler anzupassen.

Alle Variablen, seien es Systemvariablen oder benutzerdefinierte Variablen, können in den Parameterbindungen verwendet werden, die der Task „SQL ausführen“ zum Zuordnen von Variablen zu Parametern verwendet.

Systemvariablen für Pakete

In der folgenden Tabelle werden die Systemvariablen beschrieben, die Integration Services für Pakete bereitstellt.

Systemvariable Datentyp BESCHREIBUNG
CancelEvent Int32 Das Handle für ein Windows-Ereignisobjekt, das der Task signalisieren kann, um anzugeben, dass das Ausführen des Tasks beendet werden soll.
ContainerStartTime Datum/Uhrzeit Die Startzeit für den Container.
CreationDate Datum/Uhrzeit Das Datum, an dem das Paket erstellt wurde.
CreatorComputerName Schnur Der Computer, auf dem das Paket erstellt wurde.
CreatorName Schnur Der Name der Person, die das Paket erstellt hat.
ExecutionInstanceGUID Schnur Der eindeutige Bezeichner der ausführenden Instanz eines Pakets.
FailedConfigurations Schnur Die Namen von fehlerhaften Paketkonfigurationen.
IgnoreConfigurationsOnLoad Boolescher Typ (Boolean) Gibt an, ob die Paketkonfigurationen beim Laden des Pakets ignoriert werden.
InteractiveMode Boolescher Typ (Boolean) Gibt an, ob das Paket im interaktiven Modus ausgeführt wird. Wenn ein Paket im SSIS-Designer ausgeführt wird, ist diese Eigenschaft auf True gesetzt. Wenn ein Paket mit dem Befehlszeilenprogramm DTExec ausgeführt wird, wird die Eigenschaft auf False gesetzt.
LocaleId Int32 Das Gebietsschema, das vom Paket verwendet wird.
MachineName Schnur Der Name des Computers, auf dem das Paket ausgeführt wird.
OfflineMode Boolescher Typ (Boolean) Gibt an, ob sich das Paket im Offlinemodus befindet. Im Offlinemodus werden keine Verbindungen mit Datenquellen abgerufen.
PackageID Schnur Der eindeutige Bezeichner des Pakets.
PackageName Schnur Der Name des Pakets.
StartTime Datum/Uhrzeit Der Zeitpunkt, zu dem das Paket gestartet wurde.
ServerExecutionID Int64 Die Ausführungs-ID für das Paket, das auf dem Integration Services -Server ausgeführt wird.

Der Standardwert ist Null. Der Wert wird nur geändert, wenn das Paket von "ISServerExec" auf dem Server Integration Services ausgeführt wird. Wenn ein untergeordnetes Paket vorhanden ist, wird der Wert vom übergeordneten Paket an das untergeordnete Paket übergeben.
Nutzername Schnur Das Konto des Benutzers, der das Paket gestartet hat. Der Benutzername wird durch den Domänennamen qualifiziert.
VersionBuild Int32 Die Paketversion
VersionComment Schnur Kommentare zur Paketversion
VersionGUID Schnur Der eindeutige Bezeichner der Version.
VersionMajor Int32 Die Hauptversion des Pakets.
VersionMinor Int32 Die Nebenversion des Pakets.

Systemvariablen für Container

In der folgenden Tabelle werden die Systemvariablen beschrieben, die Integration Services für For-Schleifencontainer, Foreach-Schleifencontainer und Sequenzcontainer bereitstellt.

Systemvariable Datentyp BESCHREIBUNG Behälter
LocaleId Int32 Das Gebietsschema, das vom Container verwendet wird. For-Schleifencontainer

Foreach-Schleifencontainer

Sequenzcontainer

Systemvariablen für Tasks

In der folgenden Tabelle werden die Systemvariablen beschrieben, die Integration Services für Tasks bereitstellt.

Systemvariable Datentyp BESCHREIBUNG
CreationName Schnur Der Name des Vorgangs.
LocaleId Int32 Das Gebietsschema, das vom Task verwendet wird.
TaskID Schnur Der eindeutige Bezeichner einer Taskinstanz.
TaskName Schnur Der Name der Taskinstanz.
TaskTransactionOption Int32 Die Transaktionsoption, die vom Task verwendet wird.

Systemvariablen für Ereignishandler

In der folgenden Tabelle werden die Systemvariablen beschrieben, die Integration Services für Ereignishandler bereitstellt. Nicht alle Variablen sind für alle Ereignishandler verfügbar.

Systemvariable Datentyp BESCHREIBUNG Ereignishandler
Abbrechen Boolescher Typ (Boolean) Gibt an, ob das Ausführen des Ereignishandlers bei einem Fehler, einer Warnung oder beim Abbruch einer Abfrage beendet wird. OnError-Ereignishandler

OnWarning-Ereignishandler

OnQueryCancel-Ereignishandler
ErrorCode Int32 Der Fehlerbezeichner. OnError-Ereignishandler

OnInformation-Ereignishandler

OnWarning-Ereignishandler
ErrorDescription Schnur Die Beschreibung des Fehlers. OnError-Ereignishandler

OnInformation-Ereignishandler

OnWarning-Ereignishandler
ExecutionStatus Boolescher Typ (Boolean) Der aktuelle Ausführungsstatus. OnExecStatusChanged-Ereignishandler
ExecutionValue DBNull Der Ausführungswert. OnTaskFailed-Ereignishandler
LocaleId Int32 Das Gebietsschema, das vom Ereignishandler verwendet wird. Alle Ereignishandler
PercentComplete- Int32 Der Prozentsatz abgeschlossener Arbeit. OnProgress-Ereignishandler
ProgressCountHigh Int32 Der obere Bereich eines 64-Bit-Werts, der die Gesamtanzahl von Vorgängen angibt, die vom OnProgress-Ereignis verarbeitet wurden. OnProgress-Ereignishandler
ProgressCountLow Int32 Der untere Bereich eines 64-Bit-Werts, der die Gesamtanzahl von Vorgängen angibt, die vom OnProgress-Ereignis verarbeitet wurden. OnProgress-Ereignishandler
ProgressDescription Schnur Die Beschreibung des Status. OnProgress-Ereignishandler
Propagate Boolescher Typ (Boolean) Gibt an, ob das Ereignis an einen Ereignishandler auf höherer Ebene weitergegeben wird.

Hinweis: Der Wert der Propagate Variablen wird während der Überprüfung des Pakets ignoriert.

Wenn Sie in einem untergeordneten Paket festlegen PropagateFalse , verhindert dies nicht, dass ein Ereignis an das übergeordnete Paket weitergegeben wird.
Alle Ereignishandler
SourceDescription Schnur Die Beschreibung der ausführbaren Datei in dem Ereignishandler, der das Ereignis ausgelöst hat. Alle Ereignishandler
SourceID Schnur Der eindeutige Bezeichner der ausführbaren Datei in dem Ereignishandler, der das Ereignis ausgelöst hat. Alle Ereignishandler
SourceName Schnur Der Name der ausführbaren Datei in dem Ereignishandler, der das Ereignis ausgelöst hat. Alle Ereignishandler
VariableDescription Schnur Die Variablenbeschreibung. OnVariableValueChanged-Ereignishandler
VariableID Schnur Der eindeutige Bezeichner der Variablen. OnVariableValueChanged-Ereignishandler

Systemvariablen in Parameterbindungen

Es ist häufig nützlich, beim Ausführen des Pakets die Werte von Systemvariablen in Tabellen zu speichern. Beispielsweise ein Paket, das eine Tabelle dynamisch erstellt und den GUID der Paketausführungsinstanz schreibt, mit der die Tabelle in einer Tabellenspalte erstellt wurde.

Wenn Sie Systemvariablen verwenden, um diese Parameter der SQL-Anweisung zuzuordnen, die von einem Task SQL ausführen verwendet wird, müssen Sie unbedingt sicherstellen, dass der Datentyp der einzelnen Parameterbindungen auf den jeweiligen Datentyp der Systemvariablen festgelegt ist. Andernfalls kann es sein, dass die Werte der Systemvariablen falsch übersetzt werden. Wenn beispielsweise die Systemvariable, die ExecutionInstanceGUID den Zeichenfolgendatentyp enthält und eine Zeichenfolge enthält, die die GUID der ausgeführten Instanz eines Pakets darstellt, in einer Parameterbindung mit dem GUID-Datentyp verwendet wird, wird die GUID der Paketinstanz falsch übersetzt.

Diese Regel gilt auch für benutzerdefinierte Variablen. Während die Datentypen der Systemvariablen nicht geändert werden können, und Sie diese Variablen den Datentypen entsprechend anpassen müssen, sind benutzerdefinierte Variablen jedoch im Vergleich hierzu flexibler. Die in Parameterbindungen verwendeten benutzerdefinierten Variablen sind in der Regel mit den Datentypen definiert, die mit den zugeordneten Datentypen der Parameter kompatibel sind.

Zuordnen von Abfrageparametern zu Variablen in einem Task SQL ausführen