Systemvariablen

Aktualisiert: 15. September 2007

SQL Server 2005 Integration Services (SSIS) stellt eine Reihe von Systemvariablen bereit, mit denen Informationen zum ausgeführten Paket und dessen Objekten gespeichert werden. 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, dem der Task signalisieren kann, dass die Beendigung des Tasks angegeben werden soll.

CreationDate

DateTime

Das Datum, an dem das Paket erstellt wurde.

CreatorComputerName

String

Der Computer, auf dem das Paket erstellt wurde.

CreatorName

String

Der Name der Person, die das Paket erstellt hat.

ExecutionInstanceGUID

String

Der eindeutige Bezeichner der ausführenden Instanz eines Pakets.

InteractiveMode

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 festgelegt. Wenn ein Paket mit dem Eingabeaufforderungs-Dienstprogramm DTExec ausgeführt wird, ist diese Eigenschaft auf False festgelegt.

LocaleId

Int32

Das Gebietsschema, das vom Paket verwendet wird.

MachineName

String

Der Name des Computers, auf dem das Paket ausgeführt wird.

OfflineMode

Boolean

Gibt an, ob sich das Paket im Offlinemodus befindet. Im Offlinemodus werden keine Verbindungen mit Datenquellen abgerufen.

PackageID

String

Der eindeutige Bezeichner des Pakets.

PackageName

String

Der Name des Pakets.

StartTime

DateTime

Der Zeitpunkt, zu dem das Paket gestartet wurde.

UserName

String

Das Konto des Benutzers, der das Paket gestartet hat. Der Benutzername wird durch den Domänennamen qualifiziert.

VersionBuild

Int32

Die Paketversion.

VersionComment

String

Kommentare zur Paketversion.

VersionGUID

String

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 Container

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

String

Der Name des Tasks.

LocaleId

Int32

Das Gebietsschema, das vom Task verwendet wird.

TaskID

String

Der eindeutige Bezeichner einer Taskinstanz.

TaskName

String

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

Cancel

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

String

Die Beschreibung des Fehlers.

OnError-Ereignishandler

OnInformation-Ereignishandler

OnWarning-Ereignishandler

ExecutionStatus

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-Wertes, der die Gesamtanzahl von Vorgängen angibt, die vom OnProgress-Ereignis verarbeitet wurden.

OnProgress-Ereignishandler

ProgressCountLow

Int32

Der untere Bereich eines 64-Bit-Wertes, der die Gesamtanzahl von Vorgängen angibt, die vom OnProgress-Ereignis verarbeitet wurden.

OnProgress-Ereignishandler

ProgressDescription

String

Die Beschreibung des Status.

OnProgress-Ereignishandler

Propagate

Boolean

Gibt an, ob das Ereignis an einen Ereignishandler auf höherer Ebene weitergegeben wird.

ms141788.note(de-de,SQL.90).gifHinweis:

Der Wert der Propagate-Variablen wird während der Überprüfung des Pakets ignoriert. Wenn Sie Propagate in einem untergeordneten Paket auf False festlegen, wird nicht verhindert, dass ein Ereignis zum übergeordneten Paket weitergegeben wird. Damit das übergeordnete Paket das Ereignis nicht verarbeitet, legen Sie die DisableEventHandlers-Eigenschaft des Tasks Paket ausführen auf True fest.

Alle Ereignishandler

SourceDescription

String

Die Beschreibung der ausführbaren Datei in dem Ereignishandler, der das Ereignis ausgelöst hat.

Alle Ereignishandler

SourceID

String

Der eindeutige Bezeichner der ausführbaren Datei in dem Ereignishandler, der das Ereignis ausgelöst hat.

Alle Ereignishandler

SourceName

String

Der Name der ausführbaren Datei in dem Ereignishandler, der das Ereignis ausgelöst hat.

Alle Ereignishandler

VariableDescription

String

Die Variablenbeschreibung.

OnVariableValueChanged-Ereignishandler

VariableID

String

Der eindeutige Bezeichner der Variablen.

OnVariableValueChanged-Ereignishandler

Verwenden von 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 ExecutionInstanceGUID mit dem string-Datentyp und einer Zeichenfolge, mit der der GUID der ausführenden Instanz eines Pakets dargestellt wird, in einer Parameterbindung mit dem GUID-Datentyp verwendet wird, wird der 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.

Siehe auch

Konzepte

SQL Server Integration Services-Pakete
SQL Server Integration Services-Container
Integration Services-Tasks
Ereignishandler von SQL Server Integration Services
SQL Server Integration Services-Variablen

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

15. September 2007

Neuer Inhalt:
  • Es wurde ein Hinweis darüber hinzugefügt, wie Sie verhindern, dass Ereignisse in einem untergeordneten Paket zum übergeordneten Paket weitergegeben werden.

05. Dezember 2005

Neuer Inhalt:
  • Ein Abschnitt über das Verwenden von Systemvariablen in Parameterbindungen wurde hinzugefügt.