Paketkonfigurationen

SQL ServerIntegration Services stellt Paketkonfigurationen bereit, die Sie zum Aktualisieren der Werte von Eigenschaften zur Laufzeit verwenden können. Eine Konfiguration ist ein Eigenschaft/Wert-Paar, das zu einem fertigen Paket hinzugefügt werden kann. Normalerweise erstellen Sie ein Paket, legen bei der Paketentwicklung die Eigenschaften der Paketobjekte fest und fügen die Konfiguration dem Paket hinzu. Bei der Ausführung ruft das Paket die neuen Werte für die Eigenschaften aus der Konfiguration ab. Sie können mithilfe einer Konfiguration beispielsweise die Verbindungszeichenfolge eines Verbindungs-Managers ändern oder den Wert einer Variablen aktualisieren.

Paketkonfigurationen bieten die folgenden Vorteile:

  • Konfigurationen erleichtern das Verschieben von Paketen aus einer Entwicklungsumgebung in eine Produktionsumgebung. Mit einer Konfiguration können Sie z. B. den Pfad einer Quelldatei aktualisieren oder den Namen einer Datenbank oder eines Servers ändern.

  • Konfigurationen sind nützlich, wenn Sie Pakete für viele unterschiedliche Server bereitstellen. 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.

  • Konfigurationen machen Pakete flexibler. So kann z. B. eine Konfiguration den Wert einer Variablen aktualisieren, die in einem Eigenschaftsausdruck verwendet wird.

Integration Services unterstützt verschiedene unterschiedliche Methoden zum Speichern von Paketkonfigurationen, z. B. als XML-Dateien, als Tabellen in einer SQL Server-Datenbank und als Umgebungs- und Paketvariablen.

Jede Konfiguration besteht aus einem Paar aus Eigenschaft und Wert. Die XML-Konfigurationsdatei und die SQL Server-Konfigurationstypen können mehrere Konfigurationen enthalten.

Die Konfigurationen werden einbezogen, wenn Sie ein Paketbereitstellungsprogramm zum Installieren von Paketen erstellen. Wenn Sie die Pakete installieren, können die Konfigurationen im Rahmen eines Schritts bei der Paketinstallation aktualisiert werden.

HinweisHinweis

Lesen Sie die Informationen unter Lernprogramm: Bereitstellen von Paketen sowie Lektion 3: Hinzufügen von Paketkonfigurationen unter Lernprogramm: Erstellen eines einfachen ETL-Pakets, um sich besser mit den in diesem Abschnitt erläuterten Konzepten vertraut zu machen.

Grundlegendes zur Anwendung von Paketkonfigurationen zur Laufzeit

Wenn Sie das Befehlszeilenprogramm dtexec (dtexec.exe) verwenden, um ein bereitgestelltes Paket auszuführen, wendet das Dienstprogramm Paketkonfigurationen zweimal an. Das Dienstprogramm wendet Konfigurationen sowohl vor als auch nach dem Anwenden der Optionen an, die Sie in der Befehlszeile angegeben haben.

Während das Dienstprogramm das Paket lädt und ausführt, treten Ereignisse in der folgenden Reihenfolge auf:

  1. Das Dienstprogramm dtexec lädt das Paket.

  2. Das Dienstprogramm wendet die Konfigurationen, die zur Entwurfszeit im Paket angegeben wurden, in der Reihenfolge an, die im Paket festgelegt ist. (Die einzige Ausnahme ist hierbei die Variablenkonfiguration für übergeordnete Pakete. Das Dienstprogramm wendet diese Konfigurationen nur einmal später im Prozess an.)

  3. Das Dienstprogramm wendet dann alle Optionen an, die Sie in der Befehlszeile angegeben haben.

  4. Anschließend lädt das Dienstprogramm die Konfigurationen neu, die zur Entwurfszeit im Paket angegeben wurden. Dabei wird die Reihenfolge verwendet, die im Paket festgelegt ist. (Die Ausnahme von dieser Regel ist wiederum die Variablenkonfiguration für übergeordnete Pakete.) Das Dienstprogramm verwendet alle angegebenen Befehlszeilenoptionen, um die Konfigurationen neu zu laden. Es kann also sein, dass andere Werte von einem anderen Ort erneut geladen werden.

  5. Das Dienstprogramm wendet die Variablenkonfiguration für übergeordnete Pakete an.

  6. Das Dienstprogramm führt das Paket aus.

Die Art und Weise, wie das Dienstprogramm dtexec Konfigurationen anwendet, wirkt sich auf die folgenden Befehlszeilenoptionen aus:

  • Sie können zur Laufzeit die Option /Connection oder /Set verwenden, um Paketkonfigurationen von einem anderen Ort als dem zur Entwurfszeit angegebenen Ort zu laden.

  • Sie können die Option /ConfigFile verwenden, um zusätzliche Konfigurationen zu laden, die Sie zur Entwurfszeit nicht angegeben haben.

Für diese Befehlszeilenoptionen gelten jedoch einige Einschränkungen:

  • Sie können die Option /Set nicht verwenden, um einzelne Werte außer Kraft zu setzen, die auch von einer Konfiguration festgelegt werden.

  • Sie können die Option /ConfigFile nicht verwenden, um Konfigurationen zu laden, die die zur Entwurfszeit angegebenen Konfigurationen ersetzen.

Weitere Informationen zu diesen Optionen und zum Unterschied des Verhaltens dieser Optionen für SQL Server 2005Integration Services und SQL Server 2008Integration Services finden Sie unter Verhaltensänderungen von Integration Services-Features in SQL Server 2008.

Paketkonfigurationstypen

Die folgende Tabelle beschreibt die verschiedenen Paketkonfigurationstypen.

Typ

Beschreibung

XML-Konfigurationsdatei

Eine XML-Datei enthält die Konfigurationen. Die XML-Datei kann mehrere Konfigurationen enthalten.

Umgebungsvariable

Eine Umgebungsvariable enthält die Konfiguration.

Registrierungseintrag

Ein Registrierungseintrag enthält die Konfiguration.

Übergeordnete Paketvariable

Eine Variable im Paket enthält die Konfiguration. Dieser Konfigurationstyp wird normalerweise zum Aktualisieren von Eigenschaften in untergeordneten Paketen verwendet.

SQL Server-Tabelle

Eine Tabelle in einer SQL Server-Datenbank enthält die Konfiguration. Die Tabelle kann mehrere Konfigurationen enthalten.

XML-Konfigurationsdateien

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.

Eine XML-Konfigurationsdatei besteht aus zwei Abschnitten:

  • Einer Überschrift, die Informationen zur Konfigurationsdatei enthält. Dieses Element enthält Attribute wie z. B. der Erstellungszeitpunkt der Datei und den Namen der Person, von der die Datei erstellt wurde.

  • Konfigurationselemente können Informationen zu jeder Konfiguration enthalten. Dieses Element enthält Attribute wie z. B. den Eigenschaftspfad und den konfigurierten Wert einer Eigenschaft.

Das folgende XML-Codebeispiel veranschaulicht die Syntax von XML-Konfigurationsdateien. Das Beispiel zeigt eine Konfiguration für die Value-Eigenschaft einer ganzzahligen Variablen mit dem Namen 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>

Registrierungseintrag

Wenn Sie zum Speichern einer Konfiguration einen Registrierungseintrag verwenden möchten, können Sie entweder einen vorhandenen Schlüssel oder einen neuen Schlüssel in HKEY_CURRENT_USER verwenden. Der verwendete Registrierungsschlüssel muss einen Wert mit dem Namen Value aufweisen. Bei diesem Wert kann es sich um DWORD oder um eine Zeichenfolge handeln.

Wenn Sie den Konfigurationstyp Registrierungseintrag auswählen, geben Sie den Namen des Registrierungsschlüssels im Eingabefeld Registrierung ein. Das Format ist <registry key>. Wenn Sie einen Registrierungsschlüssel verwenden möchten, der nicht im Stamm von HKEY_CURRENT_USER enthalten ist, verwenden Sie das Format <registry key\registry key\...>, um den Schlüssel zu identifizieren. Wenn Sie beispielsweise den Schlüssel MyPackage verwenden, der sich in dem SSISPackages befindet, geben Sie SSISPackages\MyPackage ein.

SQL Server

Wenn Sie den Konfigurationstyp SQL Server auswählen, geben Sie die Verbindung zur SQL Server-Datenbank an, in der die Konfigurationen gespeichert werden sollen. Sie können die Konfigurationen in einer vorhandenen Tabelle speichern oder eine neue Tabelle in der angegebenen Datenbank erstellen.

Die folgende SQL-Anweisung zeigt die standardmäßige CREATE TABLE-Anweisung, die der Paketkonfigurations-Assistent bereitstellt.

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.

Direkte und indirekte Konfigurationen

Integration Services ermöglicht direkte und indirekte Konfigurationen. Wenn Sie Konfigurationen direkt angeben, erstellt Integration Services ein direkter Link zwischen dem Konfigurationselement und der Paketobjekteigenschaft. Direkte Konfigurationen sind die bessere Wahl, wenn sich der Ort der Quelle nicht ändert. Wenn Sie z. B. sicher sind, dass alle Bereitstellungen im Paket denselben Dateipfad verwenden, können Sie eine XML-Konfigurationsdatei angeben.

Indirekte Konfigurationen verwenden Umgebungsvariablen. Statt die Konfigurationseinstellung direkt anzugeben, zeigt die Konfiguration auf eine Umgebungsvariable, die ihrerseits den Konfigurationswert enthält. Das Verwenden indirekter Konfigurationen ist die bessere Wahl, wenn sich der Ort der Konfiguration für jede Bereitstellung eines Pakets ändern kann.

Externe Ressourcen

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf der Integration Services-Seite von MDSN oder TechNet:

Abonnieren Sie die auf der Seite verfügbaren RSS-Newsfeeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.

Änderungsverlauf

Aktualisierter Inhalt

  • Der Abschnitt "Grundlegendes zur Anwendung von Paketkonfigurationen zur Laufzeit" wurde hinzugefügt.