Integration Services-Variablen (SSIS)Integration Services (SSIS) Variables

Variablen speichern Werte, die von einem SQL ServerSQL Server Integration ServicesIntegration Services -Paket und dessen Containern, Tasks und Ereignishandlern zur Laufzeit verwendet werden können.Variables store values that a SQL ServerSQL Server Integration ServicesIntegration Services package and its containers, tasks, and event handlers can use at run time. Die Skripts im Skripttask und die Skriptkomponente können ebenfalls Variablen verwenden.The scripts in the Script task and the Script component can also use variables. Die Rangfolgeneinschränkungen, mit denen Tasks und Container zu einem Workflow zusammengestellt werden, können Variablen verwenden, wenn ihre Einschränkungsdefinitionen Ausdrücke einschließen.The precedence constraints that sequence tasks and containers into a workflow can use variables when their constraint definitions include expressions.

Variablen in Integration ServicesIntegration Services -Paketen können für folgende Zwecke verwendet werden:You can use variables in Integration ServicesIntegration Services packages for the following purposes:

  • Aktualisieren der Eigenschaften von Paketelementen zur Laufzeit.Updating properties of package elements at run time. Beispielsweise können Sie die von einem Foreach-Schleifencontainer zulässige Anzahl von gleichzeitig ausführbaren Dateien dynamisch festlegen.For example, you can dynamically set the number of concurrent executables that a Foreach Loop container allows.

  • Einschließen einer Nachschlagetabelle im Arbeitsspeicher.Including an in-memory lookup table. Beispielsweise kann von einem Paket ein Task SQL ausführen ausgeführt werden, der eine Variable mit Datenwerten lädt.For example, a package can run an Execute SQL task that loads a variable with data values.

  • Laden von Variablen mit Datenwerten und anschließend mit deren Hilfe Angeben einer Suchbedingung in einer WHERE-Klausel.Loading variables with data values and then using them to specify a search condition in a WHERE clause. Beispielsweise kann das Skript eines Skripttasks den Wert einer Variablen aktualisieren, die von einer Transact-SQL-Anweisung in einem Task SQL ausführen verwendet wird.For example, the script in a Script task can update the value of a variable that is used by a Transact-SQL statement in an Execute SQL task.

  • Laden einer Variablen mit einer ganzen Zahl und anschließend Steuern der Schleifen in einer Paketablaufsteuerung mithilfe dieses Werts.Loading a variable with an integer and then using the value to control looping within a package control flow. Beispielsweise können Sie im Auswertungsausdruck eines For-Schleifencontainers die Iteration mithilfe einer Variablen steuern.For example, you can use a variable in the evaluation expression of a For Loop container to control iteration.

  • Auffüllen von Parameterwerten für Transact-SQL-Anweisungen zur Laufzeit.Populating parameter values for Transact-SQL statements at run time. Beispielsweise kann ein Paket einen Task SQL ausführen ausführen und anschließend die Parameter einer Transact-SQL-Anweisung mithilfe von Variablen dynamisch festlegen.For example, a package can run an Execute SQL task and then use variables to dynamically set the parameters in a Transact-SQL statement.

  • Erstellen von Ausdrücken, die Variablenwerte einschließen.Building expressions that include variable values. Beispielsweise kann die Transformation für abgeleitete Spalten eine Spalte mit dem Ergebnis aus dem Multiplizieren eines Variablenwerts mit einem Spaltenwert auffüllen.For example, the Derived Column transformation can populate a column with the result obtained by multiplying a variable value by a column value.

Systemvariablen und benutzerdefinierte VariablenSystem and user-defined variables

Integration ServicesIntegration Services unterstützt zwei Arten von Variablen: Benutzerdefinierte Variablen und Systemvariablen. supports two types of variables: user-defined variables and system variables. Benutzerdefinierte Variablen werden von Paketentwicklern definiert, und Systemvariablen werden von Integration ServicesIntegration Servicesdefiniert.User-defined variables are defined by package developers, and system variables are defined by Integration ServicesIntegration Services. Sie können so viele benutzerdefinierte Variablen erstellen, wie für das Paket erforderlich sind. Zusätzliche Systemvariablen können jedoch nicht erstellt werden.You can create as many user-defined variables as a package requires, but you cannot create additional system variables.

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 in SQL-Anweisungen verwendet.All variables—system and user-defined—can be used in the parameter bindings that the Execute SQL task uses to map variables to parameters in SQL statements. Weitere Informationen finden Sie unter SQL ausführen (Task) und Parameter und Rückgabecodes im Task „SQL ausführen“.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

Hinweis

Bei den Namen von benutzerdefinierten und Systemvariablen wird nach Groß-/Kleinschreibung unterschieden.The names of user-defined and system variables are case sensitive.

Sie können benutzerdefinierte Variablen für alle Integration ServicesIntegration Services -Containertypen erstellen: Pakete, Foreach-Schleifencontainer, For-Schleifencontainer, Sequenzcontainer, Tasks und Ereignishandler.You can create user-defined variables for all Integration ServicesIntegration Services container types: packages, Foreach Loop containers, For Loop containers, Sequence containers, tasks, and event handlers. Bei benutzerdefinierten Variablen handelt es sich um Elemente der Variables-Auflistung des Containers.User-defined variables are members of the Variables collection of the container.

Wenn Sie das Paket mit dem SSISSSIS -Designer erstellen, können Sie die Elemente der Variables -Auflistung im Ordner Variablen auf der Registerkarte Paket-Explorer des SSISSSIS -Designers anzeigen.If you create the package using SSISSSIS Designer, you can see the members of the Variables collections in the Variables folders on the Package Explorer tab of SSISSSIS Designer. Die Ordner listen benutzerdefinierte Variablen und Systemvariablen auf.The folders list user-defined variables and system variables.

Es gibt folgende Möglichkeiten, um benutzerdefinierte Variablen zu konfigurieren:You can configure user-defined variables in the following ways:

  • Geben Sie einen Namen und eine Beschreibung für die Variable an.Provide a name and description for the variable.

  • Geben Sie einen Namespace für die Variable an.Specify a namespace for the variable.

  • Geben Sie an, ob die Variable ein Ereignis auslöst, wenn ihr Wert geändert wird.Indicate whether the variable raises an event when its value changes.

  • Geben Sie an, ob die Variable schreibgeschützt ist oder Lese-/Schreibzugriff aufweist.Indicate whether the variable is read-only or read/write.

  • Verwenden Sie das Auswertungsergebnis eines Ausdrucks zum Festlegen des Variablenwerts.Use the evaluation result of an expression to set the variable value.

  • Erstellen Sie die Variable im Bereich des Pakets oder eines Paketobjekts, wie z. B. eines Tasks.Create the variable in the scope of the package or a package object such as a task.

  • Geben Sie den Wert und den Datentyp der Variablen an.Specify the value and data type of the variable.

    Die einzige konfigurierbare Option für Systemvariablen ist das Angeben, ob sie ein Ereignis auslösen, wenn sich der Wert ändert.The only configurable option on system variables is specifying whether they raise an event when they change value.

    Ein anderer Systemvariablensatz ist für andere Containertypen verfügbar.A different set of system variables is available for different container types. Weitere Informationen zu den Systemvariablen, die von Paketen und deren Elementen verwendet werden, finden Sie unter Systemvariablen.For more information about the system variables used by packages and their elements, see System Variables.

    Weitere Informationen zu Szenarien für die Verwendung von Variablen in der Praxis finden Sie unter Verwenden von Variablen in Paketen.For more information about real-life use scenarios for variables, see Use Variables in Packages.

Eigenschaften von VariablenProperties of variables

Sie können benutzerdefinierte Variablen konfigurieren, indem Sie die folgenden Eigenschaften im Fenster Variablen oder im Fenster Eigenschaften festlegen.You can configure user-defined variables by setting the following properties in either the Variables window or the Properties window. Bestimmte Eigenschaften sind nur im Eigenschaftenfenster verfügbar.Certain properties are available only in the Properties window.

Hinweis

Die einzige konfigurierbare Option für Systemvariablen ist das Angeben, ob sie ein Ereignis auslösen, wenn sich der Wert ändert.The only configurable option on system variables is specifying whether they raise an event when they change value.

Description Description
Gibt die Beschreibung der Variablen an.Specifies the description of the variable.

EvaluateAsExpression EvaluateAsExpression
Wenn die Eigenschaft auf Truefestgelegt wird, wird der bereitgestellte Ausdruck zum Festlegen des Variablenwerts verwendet.When the property is set to True, the expression provided is used to set the variable value.

expression Expression
Gibt den der Variablen zugeordneten Ausdruck an.Specifies the expression that is assigned to the variable.

Name Name
Gibt den Variablennamen an.Specifies the variable name.

NamespaceNamespace
Integration ServicesIntegration Servicesstellt zwei Namespaces bereit Benutzer und System. provides two namespaces, User and System. Standardmäßig gehören benutzerdefinierte Variablen zum Namespace User und Systemvariablen zum Namespace System .By default, custom variables are in the User namespace, and system variables are in the System namespace. Sie können zusätzliche Namespaces für benutzerdefinierte Variablen erstellen und den Namen des User -Namespaces ändern. Es ist jedoch nicht möglich, den Namen des System -Namespaces zu ändern, dem System -Namespace Variablen hinzuzufügen oder Systemvariablen einem anderen Namespace zuzuweisen.You can create additional namespaces for user-defined variables and change the name of the User namespace, but you cannot change the name of the System namespace, add variables to the System namespace, or assign system variables to a different namespace.

RaiseChangedEventRaiseChangedEvent
Wenn die Eigenschaft auf Truefestgelegt wird, wird das OnVariableValueChanged -Ereignis bei einer Änderung des Variablenwerts ausgelöst.When the property is set to True, the OnVariableValueChanged event is raised when the variable changes value.

ReadOnlyReadOnly
Wenn die Eigenschaft auf Falsefestgelegt wird, besteht ein Lese- und Schreibzugriff auf die Variable.When the property is set to False, the variable is read\write.

ScopeScope

Hinweis

Sie können diese Eigenschafteneinstellung nur ändern, indem Sie im Fenster Variablen auf Variable verschieben klicken.You can change this property setting only by clicking Move Variable in the Variables window.

Eine Variable wird im Bereich eines Pakets oder im Bereich eines Containers, Tasks oder Ereignishandlers im Paket erstellt.A variable is created within the scope of a package or within the scope of a container, task, or event handler in the package. Der Paketcontainer befindet sich ganz oben in der Containerhierarchie. Deshalb verhalten sich Variablen mit Paketbereichsfunktion wie globale Variablen und können von allen Containern im Paket verwendet werden.Because the package container is at the top of the container hierarchy, variables with package scope function like global variables and can be used by all containers in the package. Entsprechend können Variablen, die im Bereich eines Containers definiert sind, wie z. B. eines For-Schleifencontainers, von allen Tasks oder Containern innerhalb des For-Schleifencontainers verwendet werden.Similarly, variables defined within the scope of a container such as a For Loop container can be used by all tasks or containers within the For Loop container.

Falls ein Paket mithilfe des Tasks Paket ausführen andere Pakete ausführt, können die Variablen, die im Bereich des aufrufenden Pakets oder des Tasks Paket ausführen definiert sind, dem aufgerufenen Paket mithilfe des Konfigurationstyps Variable für das übergeordnete Paket zur Verfügung gestellt werden.If a package runs other packages by using the Execute Package task, the variables defined in the scope of the calling package or the Execute Package task can be made available to the called package by using the Parent Package Variable configuration type. Weitere Informationen finden Sie unter Package Configurations.For more information, see Package Configurations.

IncludeInDebugDumpIncludeInDebugDump
Geben Sie an, ob der Variablenwert in den Debugdumpdateien enthalten ist.Indicate whether the variable value is included in the debug dump files.

Für benutzerdefinierte Variablen und Systemvariablen ist true der Standardwert für die Option InclueInDebugDump.For user-defined variables and system variables, the default value for the InclueInDebugDump option is true.

Für benutzerdefinierte Variablen setzt das System die IncludeInDebugDump -Option jedoch auf false zurück, wenn die folgenden Bedingungen erfüllt sind:However, for user-defined variables, the system resets the IncludeInDebugDump option to false when the following conditions are met:

  • Wenn die EvaluateAsExpression -Variableneigenschaft auf truefestgelegt ist, setzt das System die IncludeInDebugDump -Option auf falsezurück.If the EvaluateAsExpression variable property is set to true, the system resets the IncludeInDebugDump option to false.

    Um den Text des Ausdrucks als Variablenwert in die Debugdumpdatei einzuschließen, legen Sie die IncludeInDebugDump -Option auf truefest.To include the text of the expression as the variable value in the debug dump files, set the IncludeInDebugDump option to true.

  • Wenn der Datentyp der Variablen in eine Zeichenfolge umgewandelt wird, setzt das System die IncludeInDebugDump -Option auf falsezurück.If the variable data type is changed to a string, the system resets the IncludeInDebugDump option to false.

    Wenn das System die IncludeInDebugDump -Option auf falsezurücksetzt, wird möglicherweise der vom Benutzer gewählte Wert überschrieben.When the system resets the IncludeInDebugDump option to false, this might override the value selected by the user.

Wert Value
Der Wert einer benutzerdefinierten Variable kann ein Literal oder ein Ausdruck sein.The value of a user-defined variable can be a literal or an expression. Eine Variable enthält Optionen zum Festlegen des Variablenwerts und des Datentyps des Werts.A variable includes options for setting the variable value and the data type of the value. Die beiden Eigenschaften müssen kompatibel sein. Beispielsweise ist das Verwenden eines string-Werts zusammen mit einem integer-Datentyp ungültig.The two properties must be compatible: for example, the use of a string value together with an integer data type is not valid.

Falls die Variable so konfiguriert ist, dass sie als Ausdruck ausgewertet wird, müssen Sie einen Ausdruck angeben.If the variable is configured to evaluate as an expression, you must provide an expression. Zur Laufzeit wird der Ausdruck ausgewertet, und die Variable wird auf das Auswertungsergebnis festgelegt.At run time, the expression is evaluated, and the variable is set to the evaluation result. Wenn z. B. eine Variable den Ausdruck DATEPART("month", GETDATE()) verwendet, entspricht der Wert der Variablen der Zahl des Monats im aktuellen Datum.For example, if a variable uses the expression DATEPART("month", GETDATE()) the value of the variable is the number equivalent of the month for the current date. Der Ausdruck muss ein gültiger Ausdruck sein, der die SSISSSIS -Ausdrucksgrammatiksyntax verwendet.The expression must be a valid expression that uses the SSISSSIS expression grammar syntax. Wenn ein Ausdruck mit Variablen verwendet wird, kann der Ausdruck Literale sowie die Operatoren und Funktionen der Ausdrucksgrammatik verwenden. Der Ausdruck kann jedoch nicht auf die Spalten in einem Datenfluss des Pakets verweisen.When an expression is used with variables, the expression can use literals and the operators and functions that the expression grammar provides, but the expression cannot reference the columns from a data flow in the package. Die maximale Länge eines Ausdrucks beträgt 4000 Zeichen.The maximum length of an expression is 4000 characters. Weitere Informationen finden Sie unter Integration Services-Ausdrücke (SSIS).For more information, see Integration Services (SSIS) Expressions.

ValueTypeValueType

Hinweis

Der Eigenschaftswert wird in der Spalte Datentyp im Fenster Variablen angezeigt.The property value appears in the Data type column in the Variables window.

Gibt den Datentyp des Variablenwerts an.Specifies the data type of the variable value.

Szenarien für die Verwendung von VariablenScenarios for using variables

Variablen werden auf verschiedene Weisen in Integration ServicesIntegration Services -Paketen verwendet.Variables are used in many different ways in Integration ServicesIntegration Services packages. Sie werden möglicherweise der Meinung sein, dass die Paketentwicklung nicht voranschreitet, bis Sie die benutzerdefinierten Variablen einem Paket hinzugefügt haben, um die benötigte Flexibilität und Verwaltbarkeit der Lösung zu implementieren.You will probably find that package development does not progress far before you have to add a user-defined variable to your package to implement the flexibility and manageability your solution requires. Abhängig von dem Szenario, werden die Systemvariablen gemeinsam verwendet.Depending on the scenario, system variables are also commonly used.

Eigenschaftsausdrücke Verwenden von Variablen zum Bereitstellen von Werten in den Eigenschaftsausdrücken, die die Eigenschaften der Pakete und der Paketobjekte festlegen.Property Expressions Use variables to provide values in the property expressions that set the properties of packages and package objects. Beispielsweise schließt der Ausdruck SELECT * FROM @varTableName die varTableName -Variable ein, die die SQL-Anweisung aktualisiert, die der Task SQL ausführen ausführt.For example, the expression, SELECT * FROM @varTableName includes the variable varTableName that updates the SQL statement that an Execute SQL task runs. Der DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]-Ausdruck aktualisiert das Paket, das der Task Paket ausführen ausführt. Dies erfolgt durch Ausführen des angegebenen Pakets in der varPackageFirst -Variablen am ersten Tag des Monats, und das angegebene Paket in der varPackageOther -Variable wird an anderen Tagen ausgeführt.The expression, DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]", updates the package that the Execute Package task runs, by running the package specified in the varPackageFirst variable on the first day of the month and running the package specified in the varPackageOther variable on other days. Weitere Informationen finden Sie unter Verwenden von Eigenschaftsausdrücken in Paketen.For more information, see Use Property Expressions in Packages.

Datenflussausdrücke Verwendet Variablen, um Werte in den Ausdrücken bereitzustellen, die die Transformationen Abgeleitete Spalten und Bedingtes Teilen zum Auffüllen der Spalten verwenden, oder um Datenzeilen an verschiedene Transformationsausgaben weiterzuleiten.Data Flow Expressions Use variables to provide values in the expressions that the Derived Column and Conditional Split transformations use to populate columns, or to direct data rows to different transformation outputs. Beispielsweise verkettet der @varSalutation + LastName-Ausdruck den Wert in der VarSalutation -Variablen und der LastName -Spalte.For example, the expression, @varSalutation + LastName, concatenates the value in the VarSalutation variable and the LastName column. Der Income < @HighIncome-Ausdruck leitet Datenzeilen, in denen der Wert der Income -Spalte niedriger ist als der Wert in der HighIncome -Variablen an eine Ausgabe weiter.The expression, Income < @HighIncome, directs data rows in which the value of the Income column is less than the value in the HighIncome variable to an output. Weitere Informationen finden Sie unter Transformation für abgeleitete Spalten, Transformation für bedingtes Teilen und Integration Services-Ausdrücke (SSIS).For more information, see Derived Column Transformation, Conditional Split Transformation, and Integration Services (SSIS) Expressions.

Rangfolgeneinschränkungs-Ausdrücke Stellen Werte in Rangfolgeneinschränkungen bereit, um zu bestimmen, ob eine ausführbare Datei ausgeführt wird.Precedence Constraint Expressions Provide values to use in precedence constraints to determine whether a constrained executable runs. Die Ausdrücke können entweder gemeinsam mit einem Ausführungsergebnis (Erfolg, Fehler, Beendigung) oder stattdessen mit einem Ausführungsergebnis verwendet werden.The expressions can be used either together with an execution outcome (success, failure, completion), or instead of an execution outcome. Wenn der Ausdruck @varMax > @varMinbeispielsweise zu TRUEausgewertet wird, werden die ausführbaren Dateien ausgeführt.For example, if the expression, @varMax > @varMin, evaluates to true, the executable runs. Weitere Informationen finden Sie unter Hinzufügen von Ausdrücken zu Rangfolgeneinschränkungen.For more information, see Add Expressions to Precedence Constraints.

Parameter und Rückgabecode Stellt Eingabeparametern Werte bereit oder speichert die Ausgabeparameter und den Rückgabecode.Parameters and Return Codes Provide values to input parameters, or store the values of output parameters and return codes. Dies erfolgt durch Zuordnen der Variablen zu Parametern und Rückgabewerten.You do this by mapping the variables to parameters and return values. Wenn sie beispielsweise die varProductId -Variable auf 23 festlegen und die SELECT * from Production.Product WHERE ProductID = ?-SQL-Anweisung ausführen, ruft die Abfrage das Produkt mit einer ProductID von 23 ab.For example, if you set the variable varProductId to 23 and run the SQL statement, SELECT * from Production.Product WHERE ProductID = ?, the query retrieves the product with a ProductID of 23. Weitere Informationen finden Sie unter SQL ausführen (Task) und Parameter und Rückgabecodes im Task „SQL ausführen“.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

For-Schleifenausdrücke Stellt Werte bereit, die bei der Initialisierung, bei der Auswertung und bei der Zuordnung von Ausdrücken für die For-Schleife verwendet werden.For Loop Expressions Provide values to use in the initialization, evaluation, and assignment expressions of the For Loop. Wenn der Wert für die varCount -Variable beispielsweise 2 und der Wert für varMaxCount 10, der Initialisierungsausdruck @varCount, der Auswertungsausdruck @varCount < @varMaxCountund der Zuordnungsausdruck @varCount =@varCount +1lautet, dann wiederholt sich die Schleife acht Mal.For example, if the variable varCount is 2 and varMaxCount is 10, the initialization expression is @varCount, the evaluation expression is @varCount < @varMaxCount, and the assignment expression is @varCount =@varCount +1, then the loop repeats 8 times. Weitere Informationen finden Sie unter For Loop Container.For more information, see For Loop Container.

Variablenkonfiguration für übergeordnete Pakete Übergibt Werte von übergeordneten Paketen an untergeordnete Paketen.Parent Package Variable Configurations Pass values from parent packages to child packages. Untergeordnete Pakete können auf Variablen in übergeordneten Paketen mithilfe der Variablenkonfiguration für übergeordnete Pakete zugreifen.Child packages can access variables in the parent package by using parent package variable configurations. Wenn beispielsweise ein untergeordnetes Paket die gleichen Daten wie das übergeordnete Paket verwenden muss, kann das untergeordnete Paket eine Variablenkonfiguration definieren, die eine Variable angibt, die durch die GETDATE-Funktion in dem übergeordneten Paket festgelegt wurde.For example, if the child package must use the same date as the parent package, the child package can define a parent package variable configuration that specifies a variable set by the GETDATE function in the parent package. Weitere Informationen finden Sie unter Execute Package Task und Package Configurations.For more information, see Execute Package Task and Package Configurations.

Skripttasks und Skriptkomponenten Stellt eine Liste von schreibgeschützten und Lese-/Schreibvariablen für Skripttasks oder Skriptkomponenten bereit, aktualisiert die Lese/Schreibvariablen innerhalb des Skripts und verwendet dann die aktualisierten Werte innerhalb oder außerhalb des Skripts.Script Task and Script Component Provide a list of read-only and read/write variable to the Script task or Script component, update the read/write variables within the script, and then use the updated values in or outside the script. Beispielsweise im numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer)-Code wird die numberOfCars -Skriptvariable durch den Wert in der NumberOfCars-Variable aktualisiert.For example, in the code, numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer), the script variable numberOfCars is updated by the value in the variable, NumberOfCars. Weitere Informationen finden Sie unter Using Variables in the Script Task.For more information, see Using Variables in the Script Task.

Fügen Sie eine Variable hinzuAdd a variable

  1. Öffnen Sie in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)das gewünschte Integration ServicesIntegration Services -Paket.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services package you want to work with.

  2. Doppelklicken Sie im Projektmappen-Explorer auf das Paket, um es zu öffnen.In Solution Explorer, double-click the package to open it.

  3. Gehen Sie im SSISSSIS -Designer zum Definieren des Gültigkeitsbereichs der Variablen wie folgt vor:In SSISSSIS Designer, to define the scope of the variable, do one of the following:

    • Um den Gültigkeitsbereich des Pakets festzulegen, klicken Sie an eine beliebige Stelle auf der Entwurfsoberfläche der Registerkarte Ablaufsteuerung .To set the scope to the package, click anywhere on the design surface of the Control Flow tab.

    • Um den Gültigkeitsbereich auf einen Ereignishandler festzulegen, wählen Sie eine ausführbare Datei und einen Ereignishandler auf der Entwurfsoberfläche der Registerkarte Ereignishandler aus.To set the scope to an event handler, select an executable and an event handler on the design surface of the Event Handler tab.

    • Um den Gültigkeitsbereich auf einen Task oder Container festzulegen, klicken Sie auf der Entwurfsoberfläche der Registerkarte Ablaufsteuerung oder Ereignishandler auf einen Task oder Container.To set the scope to a task or container, on the design surface of the Control Flow tab or the Event Handler tab, click a task or container.

  4. Klicken Sie im Menü SSIS auf Variablen.On the SSIS menu, click Variables. Sie können das Fenster Variablen auch anzeigen, indem Sie im Dialogfeld Optionen auf der Seite Tastatur den Befehl View.Variables einer beliebigen Tastenkombination zuordnen.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  5. Klicken Sie im Fenster Variablen auf das Symbol Variable hinzufügen .In the Variables window, click the Add Variable icon. Die neue Variable wird der Liste hinzugefügt.The new variable is added to the list.

  6. Klicken Sie wahlweise auf das Symbol Rasteroptionen , wählen Sie zusätzliche Spalten aus, die im Dialogfeld Variable Rasteroptionen angezeigt werden sollen, und klicken Sie dann auf OK.Optionally, click the Grid Options icon, select additional columns to show in the Variables Grid Options dialog box, and then click OK.

  7. Legen Sie optional die Variableneigenschaften fest.Optionally, set the variable properties. Weitere Informationen finden Sie unter Festlegen der Eigenschaften von benutzerdefinierten Variablen.For more information, see Set the Properties of a User-Defined Variable.

  8. Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.To save the updated package, click Save Selected Items on the File menu.

Variable hinzufügen (Dialogfeld)Add Variable dialog box

Mithilfe des Dialogfelds Variable hinzufügen können Sie die Eigenschaften einer neuen Variablen angeben.Use the Add Variable dialog box to specify the properties of a new variable.

enthaltenOptions

ContainerContainer
Wählen Sie in der Liste einen Container aus.Select a container in the list. Der Container definiert den Gültigkeitsbereich der Variablen.The container defines the scope of the variable. Der Container kann entweder das Paket oder eine im Paket enthaltene ausführbare Datei sein.The container can be either the package or an executable in the package.

NameName
Geben Sie den Variablennamen ein.Type the variable name.

NamespaceNamespace
Geben Sie den Namespace der Variablen an.Specify the namespace of the variable. Benutzerdefinierte Variablen befinden sich standardmäßig im Benutzer -Namespace.By default, user-defined variables are in the User namespace.

WerttypValue type
Wählen Sie einen Datentyp aus.Select a data type.

WertValue
Geben Sie einen Wert ein.Type a value. Der Wert muss mit dem unter der Option Werttyp angegebenen Datentyp kompatibel sein.The value must be compatible with the data type specified in the Value type option.

SchreibgeschütztRead-only
Wählen Sie diese Option aus, wenn die Variable schreibgeschützt sein soll.Select to make the variable read-only.

Löschen einer VariablenDelete a variable

  1. Öffnen Sie in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)das Integration ServicesIntegration Services -Projekt mit dem gewünschten Paket.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Paket, um es zu öffnen.In Solution Explorer, right-click the package to open it.

  3. Klicken Sie im Menü SSIS auf Variablen.On the SSIS menu, click Variables. Sie können das Fenster Variablen auch anzeigen, indem Sie im Dialogfeld Optionen auf der Seite Tastatur den Befehl View.Variables einer beliebigen Tastenkombination zuordnen.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Wählen Sie die zu löschende Variable aus, und klicken Sie dann auf Variable löschen.Select the variable to delete, and then click Delete Variable.

    Wenn die Variable nicht im Fenster Variablen angezeigt wird, klicken Sie auf Rasteroptionen , und wählen Sie dann Variablen aller Bereiche anzeigenaus.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. Wenn das Dialogfeld Löschen der Variablen bestätigen aufgerufen wird, klicken Sie zur Bestätigung auf Ja .If the Confirm Deletion of Variables dialog box opens, click Yes to confirm.

  6. Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.To save the updated package, click Save Selected Items on the File menu.

Ändern des Bereichs einer VariablenChange the scope of a variable

  1. Öffnen Sie in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)das Integration ServicesIntegration Services -Projekt mit dem gewünschten Paket.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Paket, um es zu öffnen.In Solution Explorer, right-click the package to open it.

  3. Klicken Sie im Menü SSIS auf Variablen.On the SSIS menu, click Variables. Sie können das Fenster Variablen auch anzeigen, indem Sie im Dialogfeld Optionen auf der Seite Tastatur den Befehl View.Variables einer beliebigen Tastenkombination zuordnen.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Wählen Sie die Variable aus, und klicken Sie dann auf Variable verschieben.Select the variable and then click Move Variable.

    Wenn die Variable nicht im Fenster Variablen angezeigt wird, klicken Sie auf Rasteroptionen , und wählen Sie dann Variablen aller Bereiche anzeigenaus.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. Wählen Sie im Dialogfeld Neuen Bereich auswählen das Paket oder einen Container, Task oder Ereignishandler im Paket aus, um den Gültigkeitsbereich der Variablen zu ändern.In the Select New Scope dialog box, select the package or a container, task, or event handler in the package, to change the variable scope.

  6. Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern , um das aktualisierte Paket zu speichern.To save the updated package, click Save Selected Items on the File menu.

Festlegen der Eigenschaften von benutzerdefinierten VariablenSet the properties of a user-defined variable

Sie können eine der folgenden Funktionen verwenden, um die Eigenschaften einer benutzerdefinierten Variable in Integration ServicesIntegration Servicesfestzulegen:To set the properties of a user-defined variable in Integration ServicesIntegration Services, you can use one of the following features:

  • Fenster "Variablen".Variables window.

  • Eigenschaftenfenster.Properties window. Im Fenster Eigenschaften werden die Eigenschaften zum Konfigurieren von Variablen aufgelistet, die im Fenster Variablen nicht zur Verfügung stehen: Description, EvaluateAsExpression, Expression, ReadOnly, ValueType und IncludeInDebugDump.The Properties window lists properties for configuring variables that are not available in the Variables window: Description, EvaluateAsExpression, Expression, ReadOnly, ValueType, and IncludeInDebugDump.

Hinweis

Integration ServicesIntegration ServicesAußerdem bietet eine Reihe von Systemvariablen, deren Eigenschaften, mit Ausnahme der RaiseChangedEvent-Eigenschaft nicht aktualisiert werden können. also provides a set of system variables whose properties cannot be updated, with the exception of the RaiseChangedEvent property.

Festlegen von Ausdrücken auf VariablenSet expressions on variables

Wenn Sie das Fenster Eigenschaften verwenden, um Ausdrücke für eine benutzerdefinierte Variable festzulegen:When you use the Properties window to set expressions on a user-defined variable:

  • Der Wert dieser Variablen kann durch die Value-Eigenschaft oder die Expression-Eigenschaft festgelegt werden.The value of a variable can be set by the Value or the Expression property. Standardmäßig ist die EvaluateAsExpression-Eigenschaft auf False festgelegt, und der Wert dieser Variablen wird durch die Value-Eigenschaft festgelegt.By default, the EvaluateAsExpression property is set to False and the value of the variable is set by the Value property. Um einen Ausdruck zum Festlegen des Werts zu verwenden, müssen Sie zuerst EvaluateAsExpression auf Truefestlegen und dann einen Ausdruck in der Expression-Eigenschaft bereitstellen.To use an expression to set the value, you must first set EvaluateAsExpression to True, and then provide an expression in the Expression property. Die Value-Eigenschaft wird automatisch auf das Auswertungsergebnis des Ausdrucks festgelegt.The Value property is automatically set to the evaluation result of the expression.

  • Die ValueType-Eigenschaft enthält den Datentyp des Werts in der Value-Eigenschaft.The ValueType property contains the data type of the value in the Value property. Wenn Value durch einen Ausdruck festgelegt wird, dann wird ValueType automatisch auf einen Datentyp aktualisiert, der mit dem Auswertungsergebnis des Ausdrucks kompatibel ist.When Value is set by an expression, ValueType is automatically updated to a data type that is compatible with the evaluation result of the expression. Angenommen, Value enthält 0 und die ValueType-Eigenschaft enthält Int32 . Nun legen Sie Expression auf GETDATE() fest. Daraufhin enthält Value das aktuelle Datum und die Uhrzeit, und ValueType wird auf DateTimefestgelegt.For example, if Value contains 0 and ValueType property contains Int32 and you then set Expression to GETDATE(), Value contains the current date and time and ValueType is set to DateTime.

  • Das **** Eigenschaftenfenster für die Variable stellt den Zugriff auf das Dialogfeld Ausdrucks-Generator bereit.The Properties window for the variable provides access to the Expression Builder dialog box. Sie können dieses Tool zum Erstellen, Überprüfen und Auswerten von Ausdrücken verwenden.You can use this tool to build, validate, and evaluate expressions. Weitere Informationen finden Sie unter Ausdrucks-Generator und Integration Services-Ausdrücke (SSIS).For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    Wenn Sie das Fenster Variablen verwenden, um Ausdrücke für eine benutzerdefinierte Variable festzulegen:When you use the Variables window to set expressions on a user-defined variable:

  • Wenn Sie den Variablenwert mit einem Ausdruck festlegen möchten, stellen Sie zunächst sicher, dass der Variablendatentyp mit dem Auswertungsergebnis des Ausdrucks kompatibel ist. Stellen Sie dann einen Ausdruck in der Spalte Ausdruck im Fenster Variablen bereit.To use an expression to set the variable value, first confirm that the variable data type is compatible with the evaluation result of the expression and then provide an expression in the Expression column of the Variables window. Die EvaluateAsExpression-Eigenschaft im Fenster Eigenschaften wird automatisch auf Truefestgelegt.The EvaluateAsExpression property in the Properties window is automatically set to True.

  • Wenn Sie einer Variablen einen Ausdruck zuweisen, wird ein spezieller Symbolmarker neben der Variablen angezeigt.When you assign an expression to a variable, a special icon marker displays next to the variable. Dieser spezielle Symbolmarker wird auch neben Verbindungs-Managern und Tasks angezeigt, für die Ausdrücke festgelegt wurden.This special icon marker also displays next to connection managers and tasks that have expressions set on them.

  • Das Fenster Variablen für die Variable stellt den Zugriff auf das Dialogfeld Ausdrucks-Generator bereit.The Variables window for the variable provides access to the Expression Builder dialog box. Sie können dieses Tool zum Erstellen, Überprüfen und Auswerten von Ausdrücken verwenden.You can use this tool to build, validate, and evaluate expressions. Weitere Informationen finden Sie unter Ausdrucks-Generator und Integration Services-Ausdrücke (SSIS).For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    Wenn Sie der Variablen im Fenster Variablen oder im **** Eigenschaftenfenster einen Ausdruck zuweisen und EvaluateAsExpression auf Truefestgelegt ist, können Sie den Datentyp der Variablen nicht ändern.In both the Variables and Properties window, if you assign an expression to the variable, and EvaluateAsExpression is set to True, you cannot change the variable data type.

Legen Sie die Eigenschaften Namespace und NameSet the Namespace and Name properties

Die Werte der Eigenschaften Name und Namespace müssen mit einem Buchstaben beginnen, wie in Unicode-Standard 2.0 definiert ist, oder mit einem Unterstrich ().The values of the Name and Namespace properties must begin with an alphabetic character letter as defined by the Unicode Standard 2.0, or an underscore (). Bei den nachfolgenden Zeichen kann es sich um Buchstaben oder Zahlen gemäß Unicode-Standard 2.0 oder um einem Unterstrich (_) handeln.Subsequent characters can be letters or numbers as defined in the Unicode Standard 2.0, or the underscore (_).

Legen Sie die Variableneigenschaften im VariablenfensterSet Variable Properties in the Variables Window

  1. Öffnen Sie in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)das Integration ServicesIntegration Services -Projekt mit dem gewünschten Paket.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Paket, um es zu öffnen.In Solution Explorer, right-click the package to open it.

  3. Klicken Sie im Menü SSIS auf Variablen.On the SSIS menu, click Variables.

    Sie können das Fenster Variablen auch anzeigen, indem Sie im Dialogfeld Optionen auf der Seite Tastatur den Befehl View.Variables einer beliebigen Tastenkombination zuordnen.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Klicken Sie optional im Fenster Variablen auf Rasteroptionen, und wählen Sie die Spalten aus, die im Fenster Variablen angezeigt werden sollen. Wählen Sie dann die Filter aus, die auf die Liste der Variablen angewendet werden sollen.Optionally, in the Variables window click Grid Options, and then select the columns to appear in the Variables window and select the filters to apply to the list of variables.

  5. Wählen Sie die gewünschte Variable aus der Liste aus, und aktualisieren Sie dann die Werte in den Spalten Name, Datentyp, Wert, Namespace, Änderungsereignis auslösen, Beschriftung und Ausdruck .Select the variable in the list, and then update values in the Name, Data Type, Value, Namespace, Raise Change Event, Description, and Expression columns.

  6. Wählen Sie die Variable in der Liste aus, und klicken Sie dann auf Variable verschieben , um den Bereich zu ändern.Select the variable in the list, and then click Move Variable to change the scope.

  7. Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern, um das aktualisierte Paket zu speichern.To save the updated package, on the File menu, click Save Selected Items.

Legen Sie im Eigenschaftenfenster die Variableneigenschaften festSet Variable Properties in the Properties Window

  1. Öffnen Sie in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)das Integration ServicesIntegration Services -Projekt mit dem gewünschten Paket.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Paket, um es zu öffnen.In Solution Explorer, right-click the package to open it.

  3. Klicken Sie im Menü Ansicht auf Eigenschaftenfenster.On the View menu, click Properties Window.

  4. Klicken Sie in SSISSSIS -Designer auf die Registerkarte Paket-Explorer , und erweitern Sie den Paketknoten.In SSISSSIS Designer, click the Package Explorer tab and expand the Package node.

  5. Um Variablen mit Paketbereich zu ändern, erweitern Sie den Variablenknoten. Erweitern Sie anderenfalls den Ereignishandlerknoten oder den Knoten für Ausführbare Dateien, bis Sie den Variablenknoten finden, der die zu ändernde Variable enthält.To modify variables with package scope, expand the Variables node; otherwise, expand the Event Handlers or Executables nodes until you locate the Variables node that contains the variable that you want to modify.

  6. Klicken Sie auf die Variable, deren Eigenschaften Sie ändern möchten.Click the variable whose properties you want to modify.

  7. Aktualisieren Sie im Fenster Eigenschaften die Variableneigenschaften für den Lese-/Schreibzugriff.In the Properties window, update the read/write variable properties. Einige Eigenschaften sind für benutzerdefinierte Variablen auf Nur Lesen festgelegt.Some properties are read/read only for user-defined variables.

    Weitere Informationen zu den Eigenschaften finden Sie unter Integration Services ( SSIS ) Variablen.For more information about the properties, see Integration Services (SSIS) Variables.

  8. Klicken Sie im Menü Datei auf Ausgewählte Elemente speichern, um das aktualisierte Paket zu speichern.To save the updated package, on the File menu, click Save Selected Items.

Aktualisieren Sie eine Variable dynamisch mit KonfigurationenUpdate a variable dynamically with configurations

Zum dynamischen Aktualisieren von Variablen können Sie Konfigurationen für die Variablen erstellen, die Konfigurationen zusammen mit dem Paket bereitstellen und dann die Variablenwerte in der Konfigurationsdatei aktualisieren, wenn Sie die Pakete bereitstellen.To dynamically update variables, you can create configurations for the variables, deploy the configurations with the package, and then update the variable values in the configuration file when you deploy the packages. Zur Laufzeit verwendet das Paket die aktualisierten Variablenwerte.At run time, the package uses the updated variable values. Weitere Informationen finden Sie unter Erstellen von Paketkonfigurationen.For more information, see Create Package Configurations.

Verwenden der Werte von Variablen und Parametern in einem untergeordneten PaketUse the Values of Variables and Parameters in a Child Package

Zuordnen von Abfrageparametern zu Variablen in einer DatenflusskomponenteMap Query Parameters to Variables in a Data Flow Component