PaketkonfigurationenPackage Configurations

SQL ServerSQL Server Integration ServicesIntegration Services stellt Paketkonfigurationen bereit, die Sie zum Aktualisieren der Werte von Eigenschaften zur Laufzeit verwenden können.Integration ServicesIntegration Services provides package configurations that you can use to update the values of properties at run time.

Hinweis

Konfigurationen sind für das Paketbereitstellungsmodell verfügbar.Configurations are available for the package deployment model. Parameter werden für das Projektbereitstellungsmodell anstelle von Konfigurationen verwendet.Parameters are used in place of configurations for the project deployment model. Mithilfe des Projektbereitstellungsmodells können Sie Integration ServicesIntegration Services -Projekte auf dem Integration ServicesIntegration Services -Server bereitstellen.The project deployment model enables you to deploy Integration ServicesIntegration Services projects to the Integration ServicesIntegration Services server. Weitere Informationen zu Bereitstellungsmodellen finden Sie unter Deployment of Projects and Packages.For more information about the deployment models, see Deployment of Projects and Packages.

Eine Konfiguration ist ein Eigenschaft/Wert-Paar, das zu einem fertigen Paket hinzugefügt werden kann.A configuration is a property/value pair that you add to a completed package. Normalerweise erstellen Sie ein Paket, legen bei der Paketentwicklung die Eigenschaften der Paketobjekte fest und fügen die Konfiguration dem Paket hinzu.Typically, you create a package set properties on the package objects during package development, and then add the configuration to the package. Bei der Ausführung ruft das Paket die neuen Werte für die Eigenschaften aus der Konfiguration ab.When the package runs, it gets the new values of the property from the configuration. Sie können mithilfe einer Konfiguration beispielsweise die Verbindungszeichenfolge eines Verbindungs-Managers ändern oder den Wert einer Variablen aktualisieren.For example, by using a configuration, you can change the connection string of a connection manager, or update the value of a variable.

Paketkonfigurationen bieten die folgenden Vorteile:Package configurations provide the following benefits:

  • Konfigurationen erleichtern das Verschieben von Paketen aus einer Entwicklungsumgebung in eine Produktionsumgebung.Configurations make it easier to move packages from a development environment to a production environment. Mit einer Konfiguration können Sie z. B. den Pfad einer Quelldatei aktualisieren oder den Namen einer Datenbank oder eines Servers ändern.For example, a configuration can update the path of a source file, or change the name of a database or server.

  • Konfigurationen sind nützlich, wenn Sie Pakete für viele unterschiedliche Server bereitstellen.Configurations are useful when you deploy packages to many different servers. Eine Variable in der Konfiguration für jedes bereitgestellte Paket kann beispielsweise verschiedene Speicherplatzwerte enthalten, und wenn der verfügbare Speicherplatz nicht dem Wert entspricht, kann das Paket nicht ausgeführt werden.For example, a variable in the configuration for each deployed package can contain a different disk space value, and if the available disk space does not meet this value, the package does not run.

  • Konfigurationen machen Pakete flexibler.Configurations make packages more flexible. So kann z. B. eine Konfiguration den Wert einer Variablen aktualisieren, die in einem Eigenschaftsausdruck verwendet wird.For example, a configuration can update the value of a variable that is used in a property expression.

Integration ServicesIntegration Services unterstützt verschiedene unterschiedliche Methoden zum Speichern von Paketkonfigurationen, z.B. als XML-Dateien, als Tabellen in einer SQL ServerSQL Server -Datenbank und als Umgebungs- und Paketvariablen.supports several different methods of storing package configurations, such as XML files, tables in a SQL ServerSQL Server database, and environment and package variables.

Jede Konfiguration besteht aus einem Paar aus Eigenschaft und Wert.Each configuration is a property/value pair. Die XML-Konfigurationsdatei und die SQL ServerSQL Server-Konfigurationstypen können mehrere Konfigurationen enthalten.The XML configuration file and SQL ServerSQL Server configuration types can include multiple configurations.

Die Konfigurationen werden einbezogen, wenn Sie ein Paketbereitstellungshilfsprogramm zum Installieren von Paketen erstellen.The configurations are included when you create a package deployment utility for installing packages. Wenn Sie die Pakete installieren, können die Konfigurationen im Rahmen eines Schritts bei der Paketinstallation aktualisiert werden.When you install the packages, the configurations can be updated as a step in the package installation.

Grundlegendes zur Anwendung von Paketkonfigurationen zur LaufzeitUnderstanding How Package Configurations Are Applied at Run Time

Wenn Sie das Befehlszeilen-Hilfsprogramm dtexec.exe verwenden, um ein bereitgestelltes Paket auszuführen, wendet das Hilfsprogramm Paketkonfigurationen zweimal an.When you use the dtexec command prompt utility (dtexec.exe) to run a deployed package, the utility applies package configurations twice. Das Hilfsprogramm wendet Konfigurationen sowohl vor als auch nach dem Anwenden der Optionen an, die Sie in der Befehlszeile angegeben haben.The utility applies configurations both before and after it applies the options that you specified on command line.

Während das Hilfsprogramm das Paket lädt und ausführt, treten Ereignisse in der folgenden Reihenfolge auf:As the utility loads and runs the package, events occur in the following order:

  1. Das Hilfsprogramm dtexec lädt das Paket.The dtexec utility loads the package.

  2. Das Hilfsprogramm wendet die Konfigurationen, die zur Entwurfszeit im Paket angegeben wurden, in der Reihenfolge an, die im Paket festgelegt ist.The utility applies the configurations that were specified in the package at design time and in the order that is specified in the package. (Die einzige Ausnahme ist hierbei die Variablenkonfiguration für übergeordnete Pakete.(The one exception to this is the Parent Package Variables configurations. Das Hilfsprogramm wendet diese Konfigurationen nur einmal später im Prozess an.)The utility applies these configurations only once and later in the process.)

  3. Das Hilfsprogramm wendet dann alle Optionen an, die Sie in der Befehlszeile angegeben haben.The utility then applies any options that you specified on the command line.

  4. Anschließend lädt das Hilfsprogramm die Konfigurationen neu, die zur Entwurfszeit im Paket angegeben wurden. Dabei wird die Reihenfolge verwendet, die im Paket festgelegt ist.The utility then reloads the configurations that were specified in the package at design time and in the order specified in the package. (Die Ausnahme von dieser Regel ist wiederum die Variablenkonfiguration für übergeordnete Pakete.)(Again, the exception to this rule is the Parent Package Variables configurations). Das Hilfsprogramm verwendet alle angegebenen Befehlszeilenoptionen, um die Konfigurationen neu zu laden.The utility uses any command-line options that were specified to reload the configurations. Es kann also sein, dass andere Werte von einem anderen Speicherort erneut geladen werden.Therefore, different values might be reloaded from a different location.

  5. Das Hilfsprogramm wendet die Variablenkonfiguration für übergeordnete Pakete an.The utility applies the Parent Package Variable configurations.

  6. Das Hilfsprogramm führt das Paket aus.The utility runs the package.

Die Art und Weise, wie das Hilfsprogramm dtexec Konfigurationen anwendet, wirkt sich auf die folgenden Befehlszeilenoptionen aus:The way in which the dtexec utility applies configurations affects the following command-line options:

  • Sie können zur Laufzeit die Option /Connection oder /Set verwenden, um Paketkonfigurationen von einem anderen Speicherort als dem zur Entwurfszeit angegebenen Speicherort zu laden.You can use the /Connection or /Set option at run time to load package configurations from a location other than the location that you specified at design time.

  • Sie können die Option /ConfigFile verwenden, um zur Laufzeit zusätzliche Konfigurationen zu laden, die Sie zur Entwurfszeit nicht angegeben haben.You can use the /ConfigFile option to load additional configurations that you did not specify at design time.

Für diese Befehlszeilenoptionen gelten jedoch einige Einschränkungen:However, these command-line options do have some restrictions:

  • Sie können die Option /Set oder /Connection nicht verwenden, um einzelne Werte zu überschreiben, die auch von einer Konfiguration festgelegt werden.You cannot use the /Set or the /Connection option to override single values that are also set by a configuration.

  • Sie können die Option /ConfigFile nicht verwenden, um Konfigurationen zu laden, die die zur Entwurfszeit angegebenen Konfigurationen ersetzen.You cannot use the /ConfigFile option to load configurations that replace the configurations that you specified at design time.

Weitere Informationen zu diesen Optionen und wie Unterschied des Verhaltens dieser Optionen SQL Server 2014 Integration Services (SSIS)SQL Server 2014 Integration Services (SSIS) und frühere Versionen finden Sie unter Verhaltensänderungen von Integration Services-Funktionen in SQL Server 2014.For more information about these options, and how the behavior of these options differs between SQL Server 2014 Integration Services (SSIS)SQL Server 2014 Integration Services (SSIS) and earlier versions, see Behavior Changes to Integration Services Features in SQL Server 2014.

PaketkonfigurationstypenPackage Configuration Types

Die folgende Tabelle beschreibt die verschiedenen Paketkonfigurationstypen.The following table describes the package configuration types.

TypType DescriptionDescription
XML-KonfigurationsdateiXML configuration file Eine XML-Datei enthält die Konfigurationen.An XML file contains the configurations. Die XML-Datei kann mehrere Konfigurationen enthalten.The XML file can include multiple configurations.
UmgebungsvariableEnvironment variable Eine Umgebungsvariable enthält die Konfiguration.An environment variable contains the configuration.
RegistrierungseintragRegistry entry Ein Registrierungseintrag enthält die Konfiguration.A Registry entry contains the configuration.
Variable für das übergeordnete PaketParent package variable Eine Variable im Paket enthält die Konfiguration.A variable in the package contains the configuration. Dieser Konfigurationstyp wird normalerweise zum Aktualisieren von Eigenschaften in untergeordneten Paketen verwendet.This configuration type is typically used to update properties in child packages.
SQL ServerSQL Server tabletable Eine Tabelle in einer SQL ServerSQL Server -Datenbank enthält die Konfiguration.A table in a SQL ServerSQL Server database contains the configuration. Die Tabelle kann mehrere Konfigurationen enthalten.The table can include multiple configurations.

XML-KonfigurationsdateienXML Configuration Files

Wenn Sie den Konfigurationstyp XML-Konfigurationsdatei auswählen, können Sie eine neue Konfigurationsdatei erstellen, eine vorhandene Datei erneut verwenden und neue Konfigurationen hinzufügen oder eine vorhandene Datei erneut verwenden und dabei den bisherigen Dateiinhalt überschreiben.If you select the XML configuration file configuration type, you can create a new configuration file, reuse an existing file and add new configurations, or reuse an existing file but overwrite existing file content.

Eine XML-Konfigurationsdatei besteht aus zwei Abschnitten:An XML configuration file includes two sections:

  • Einer Überschrift, die Informationen zur Konfigurationsdatei enthält.A heading that contains information about the configuration file. Dieses Element enthält Attribute wie z. B. der Erstellungszeitpunkt der Datei und den Namen der Person, von der die Datei erstellt wurde.This element includes attributes such as when the file was created and the name of the person who generated the file.

  • Konfigurationselemente können Informationen zu jeder Konfiguration enthalten.Configuration elements that contain information about each configuration. Dieses Element enthält Attribute wie z. B. den Eigenschaftspfad und den konfigurierten Wert einer Eigenschaft.This element includes attributes such as the property path and the configured value of a property.

Das folgende XML-Codebeispiel veranschaulicht die Syntax von XML-Konfigurationsdateien.The following XML code demonstrates the syntax of an XML configuration file. Das Beispiel zeigt eine Konfiguration für die Value-Eigenschaft der ganzzahligen Variable MyVar.This example shows a configuration for the Value property of an integer variable named MyVar.

<?xml version="1.0"?>  
<DTSConfiguration>  
   <DTSConfigurationHeading>  
      <DTSConfigurationFileInfo  
          GeneratedBy="DomainName\UserName"  
          GeneratedFromPackageName="Package"  
          GeneratedFromPackageID="{2AF06766-817A-4E28-9878-0DE37A150648}"  
          GeneratedDate="2/01/2005 5:58:09 PM"/>  
   </DTSConfigurationHeading>  
   <Configuration ConfiguredType="Property" Path="\Package.Variables[User::MyVar].Value" ValueType="Int32">  
      <ConfiguredValue>0</ConfiguredValue>  
   </Configuration>  
</DTSConfiguration>  
  

RegistrierungseintragRegistry Entry

Wenn Sie zum Speichern einer Konfiguration einen Registrierungseintrag verwenden möchten, können Sie entweder einen vorhandenen Schlüssel verwenden oder einen neuen Schlüssel in HKEY_CURRENT_USER erstellen.If you want to use a Registry entry to store the configuration, you can either use an existing key or create a new key in HKEY_CURRENT_USER. Der verwendete Registrierungsschlüssel muss einen Wert mit dem Namen Value aufweisen.The Registry key that you use must have a value named Value. Bei diesem Wert kann es sich um einen Wert vom Typ DWORD oder um eine Zeichenfolge handeln.The value can be a DWORD or a string.

Wenn Sie den Konfigurationstyp Registrierungseintrag auswählen, geben Sie den Namen des Registrierungsschlüssels im Eingabefeld Registrierung ein.If you select the Registry entry configuration type, you type the name of the Registry key in the Registry entry box. Das Format lautet: <Registrierungsschlüssel>.The format is <registry key>. Wenn Sie einen Registrierungsschlüssel verwenden möchten, der nicht im Stamm von HKEY_CURRENT_USER enthalten ist, verwenden Sie das Format <Registrierungsschlüssel\Registrierungsschlüssel\...>, um den Schlüssel zu identifizieren.If you want to use a Registry key that is not at the root of HKEY_CURRENT_USER, use the format <Registry key\registry key\...> to identify the key. Wenn Sie beispielsweise den Schlüssel MyPackage verwenden, der sich in SSISPackages befindet, geben Sie SSISPackages\MyPackage ein.For example, to use the MyPackage key located in SSISPackages, type SSISPackages\MyPackage.

SQL ServerSQL Server

Wenn Sie den Konfigurationstyp SQL Server auswählen, geben Sie die Verbindung mit der SQL ServerSQL Server-Datenbank an, in der die Konfigurationen gespeichert werden sollen.If you select the SQL Server configuration type, you specify the connection to the SQL ServerSQL Server database in which you want to store the configurations. Sie können die Konfigurationen in einer vorhandenen Tabelle speichern oder eine neue Tabelle in der angegebenen Datenbank erstellen.You can save the configurations to an existing table or create a new table in the specified database.

Die folgende SQL-Anweisung zeigt die standardmäßige CREATE TABLE-Anweisung, die der Paketkonfigurations-Assistent bereitstellt.The following SQL statement shows the default CREATE TABLE statement that the Package Configuration Wizard provides.

CREATE TABLE [dbo].[SSIS Configurations]  
(  
ConfigurationFilter NVARCHAR(255) NOT NULL,  
ConfiguredValue NVARCHAR(255) NULL,  
PackagePath NVARCHAR(255) NOT NULL,  
ConfiguredValueType NVARCHAR(20) NOT NULL  
)  
  

Der Name, den Sie für die Konfiguration bereitstellen, ist der Wert, der in der ConfigurationFilter -Spalte gespeichert wird.The name that you provide for the configuration is the value stored in the ConfigurationFilter column.

Direkte und indirekte KonfigurationenDirect and Indirect Configurations

Integration ServicesIntegration Services ermöglicht direkte und indirekte Konfigurationen.provides direct and indirect configurations. Wenn Sie Konfigurationen direkt angeben, erstellt Integration ServicesIntegration Services eine direkte Verknüpfung zwischen dem Konfigurationselement und der Paketobjekteigenschaft.If you specify configurations directly, Integration ServicesIntegration Services creates a direct link between the configuration item and the package object property. Direkte Konfigurationen sind die bessere Wahl, wenn sich der Speicherort der Quelle nicht ändert.Direct configurations are a better choice when the location of the source does not change. Wenn Sie z. B. sicher sind, dass alle Bereitstellungen im Paket denselben Dateipfad verwenden, können Sie eine XML-Konfigurationsdatei angeben.For example, if you are sure that all deployments in the package use the same file path, you can specify an XML configuration file.

Indirekte Konfigurationen verwenden Umgebungsvariablen.Indirect configurations use environment variables. Statt die Konfigurationseinstellung direkt anzugeben, zeigt die Konfiguration auf eine Umgebungsvariable, die ihrerseits den Konfigurationswert enthält.Instead of specifying the configuration setting directly, the configuration points to an environment variable, which in turn contains the configuration value. Das Verwenden indirekter Konfigurationen ist die bessere Wahl, wenn sich der Speicherort der Konfiguration für jede Bereitstellung eines Pakets ändern kann.Using indirect configurations is a better choice when the location of the configuration can change for each deployment of a package.

Erstellen von PaketkonfigurationenCreate Package Configurations