Paket ausführen (Task)

Der Task Paket ausführen erweitert die Unternehmensfunktionen von Integration Services, indem Paketen das Ausführen anderer Pakete als Teil eines Workflows ermöglicht wird.

Der Task Paket ausführen kann für folgende Zwecke verwendet werden:

  • Unterteilen eines komplexen Paketworkflows. Mit diesem Task können Sie Workflow in mehrere Pakete unterteilen, die einfacher zu lesen, zu testen und zu warten sind. Wenn Sie z. B. Daten in ein Sternschema laden, können Sie ein separates Paket erstellen, um jede Dimension und die Faktentabelle aufzufüllen.

  • Wiederverwenden von Paketteilen. Andere Pakete können Teile eines Paketworkflows wiederverwenden. Sie können z. B. ein Modul zum Extrahieren von Daten erstellen, das von verschiedenen Paketen aus aufgerufen werden kann. Jedes Paket, das das Modul zum Extrahieren aufruft, kann verschiedene Datenbereinigungs-, Filter- oder Aggregationsvorgänge ausführen.

  • Gruppieren von Arbeitseinheiten. Arbeitseinheiten können in separaten Paketen gekapselt und als Transaktionskomponenten mit dem Workflow eines übergeordneten Pakets verknüpft werden. Beispielsweise führt das übergeordnete Paket die zusätzlichen Pakete aus und führt basierend auf dem Erfolg oder dem Fehlschlagen der zusätzlichen Pakete, einen Commit oder ein Rollback der Transaktion aus.

  • Steuern der Paketsicherheit. Paketersteller benötigen Zugriff auf nur einen Teil einer Multipaketlösung. Das Aufteilen eines Pakets in mehrere Pakete stellt mehr Sicherheit bereit, weil Sie einem Ersteller Zugriff nur auf die relevanten Pakete erteilen können.

Ein Paket, das andere Pakete ausführt, wird im Allgemeinen als übergeordnetes Paket bezeichnet, und die Pakete, die von einem übergeordneten Workflow ausgeführt werden, werden als untergeordnete Pakete bezeichnet.

Mit dem Task Paket ausführen können Pakete ausgeführt werden, die in der msdb-Datenbank von SQL Server gespeichert sind, sowie im Dateisystem gespeicherte Pakete. Der Task stellt mithilfe eines OLE DB-Verbindungs-Managers eine Verbindung mit SQL Server her und greift mit einem Dateiverbindungs-Manager auf das Dateisystem zu. Weitere Informationen finden Sie unter OLE DB-Verbindungs-Manager und Verbindungs-Manager für Flatfiles.

Mit dem Task Paket ausführen kann auch ein Datenbankwartungsplan ausgeführt werden. Auf diese Weise können SSIS-Pakete und Datenbankwartungspläne in derselben Integration Services-Lösung verwaltet werden. Ein Datenbankwartungsplan ist mit einem SSIS-Paket zu vergleichen. Ein Plan kann jedoch nur Datenbankwartungstasks enthalten und wird immer in msdb gespeichert. Weitere Informationen finden Sie unter Warten von Datenbanken (Datenbankmodul) und Wartungstasks.

Wenn Sie ein im Dateisystem gespeichertes Paket auswählen, müssen Sie den Namen und den Speicherort des Pakets bereitstellen. Das Paket kann überall im Dateisystem gespeichert sein. Es muss sich nicht in demselben Ordner wie das übergeordnete Paket befinden.

Das untergeordnete Paket kann im Prozess des übergeordneten Pakets oder als eigener Prozess ausgeführt werden. Das Ausführen des untergeordneten Pakets als eigener Prozess erfordert mehr Arbeitsspeicher, bietet allerdings mehr Flexibilität. Beispielsweise kann bei einem Fehler des untergeordneten Prozesses der übergeordnete Prozess weiterhin ausgeführt werden.

Alternativ kann es vorkommen, dass in bestimmten Situationen das übergeordnete und das untergeordnete Paket gemeinsam einen Fehler erzeugen sollen, oder Sie möchten den zusätzlichen Verarbeitungsaufwand eines anderen Prozesses übernehmen. Wenn z. B. bei einem untergeordneten Prozess ein Fehler auftritt und die nachfolgende Verarbeitung im übergeordneten Prozess des Pakets vom Erfolg des untergeordneten Prozesses abhängt, sollte das untergeordnete Paket im Prozess des übergeordneten Pakets ausgeführt werden.

Die ExecuteOutOfProcess-Eigenschaft des Tasks Paket ausführen ist standardmäßig auf False festgelegt, und das untergeordnete Paket wird im selben Prozess wie das übergeordnete Paket ausgeführt. Wenn Sie diese Eigenschaft auf True festlegen, können Sie nur Pakete mit begrenzter Funktionalität debuggen. Zum Debuggen der von Ihrer SQL Server-Edition unterstützten Pakete müssen Sie Integration Services installieren.

Erweitern von Transaktionen

Die vom übergeordneten Paket verwendete Transaktion kann auf das untergeordnete Paket erweitert werden. Deshalb kann für die von beiden Paketen ausgeführte Arbeit ein Commit oder Rollback ausgeführt werden. Beispielsweise kann für Datenbankeinfügungen, die vom übergeordneten Paket ausgeführt werden, ein Commit oder Rollback ausgeführt werden, und zwar in Abhängigkeit von den vom untergeordneten Paket ausgeführten Datenbankeinfügungen und umgekehrt. Weitere Informationen finden Sie unter Vererbte Transaktionen.

Weitergeben von Protokollierungsdetails

Für das untergeordnete Paket, das der Task Paket ausführen ausführt, ist möglicherweise die Verwendung der Protokollierung konfiguriert. Das untergeordnete Paket leitet jedoch die Protokolldetails stets an das übergeordnete Paket weiter. Falls für den Task Paket ausführen die Verwendung der Protokollierung konfiguriert ist, protokolliert der Task die Protokolldetails des untergeordneten Pakets. Weitere Informationen finden Sie unter Implementieren der Protokollierung in Pakete.

Übergeben von Werten an untergeordnete Pakete

Häufig verwendet ein untergeordnetes Paket Werte, die von einem anderen Paket übergeben werden, das das untergeordnete Paket aufruft. Normalerweise handelt es sich dabei um das übergeordnete Paket. Das Verwenden von Werten eines übergeordneten Pakets ist in folgenden Szenarien hilfreich:

  • Teile eines größeren Workflows sind verschiedenen Paketen zugewiesen. Beispielsweise könnte ein Paket jede Nacht Daten herunterladen, die Daten zusammenfassen, Zusammenfassungsdatenwerte Variablen zuweisen und dann die Werte an ein anderes Paket zum weiteren Verarbeiten der Daten übergeben.

  • Das übergeordnete Paket koordiniert Tasks in einem untergeordneten Paket dynamisch. Beispielsweise könnte das übergeordnete Paket die Anzahl von Tagen im aktuellen Monat bestimmen und diesen Wert einer Variablen zuweisen. Das untergeordnete Paket führt dann einen Task entsprechend oft aus.

  • Ein untergeordnetes Paket benötigt Zugriff auf Daten, die vom übergeordneten Paket dynamisch abgeleitet werden. Beispielsweise könnte das übergeordnete Paket Daten aus einer Tabelle extrahieren und das Rowset in eine Variable laden, und das untergeordnete Paket könnte zusätzliche Vorgänge für die Daten ausführen.

Mit Paketkonfigurationen können Werte des übergeordneten Pakets dem untergeordneten Paket bereitgestellt werden. Integration Services enthält einen Konfigurationstyp, nämlich die Variable für das übergeordnete Paket, um Werte von übergeordneten an untergeordnete Pakete zu übergeben. Diese Konfiguration basiert auf dem untergeordneten Paket und verwendet eine Variable im untergeordneten Paket.

Die Variable für das untergeordnete Paket kann im Bereich des Tasks Paket ausführen oder in einem übergeordneten Containers, wie z. B. dem Paket, definiert werden. Falls mehrere gleichnamige Variablen vorhanden sind, wird die im Bereich des Tasks Paket ausführen definierte Variable verwendet oder die Variable, die im Bereich dem Task am nächsten liegt. Die Konfiguration wird dann einer Variablen im untergeordneten Paket zugeordnet oder der Eigenschaft eines Objekts im untergeordneten Paket. Die Variable kann auch in den Skripts verwendet werden, die vom ActiveX-Skripttask, Skripttask oder der Skriptkomponente verwendet werden.

Weitere Informationen finden Sie unter Vorgehensweise: Verwenden der übergeordneten Variablenwerten in einem untergeordneten Paket.

Sonstige verwandte Tasks

Integration Services enthält Tasks, die Workflowvorgänge ausführen, wie z. B. das Ausführen von Paketen, ausführbaren Dateien und Batchdateien von SQL Server 2000.

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu diesen Tasks zu erhalten:

Konfigurieren des Tasks Paket ausführen

Eigenschaften können Sie mit dem SSIS-Designer oder programmgesteuert festlegen.

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im SSIS-Designer festlegen können:

Klicken Sie auf das folgende Thema, um weitere Informationen zum Festlegen dieser Eigenschaften im SSIS-Designer zu erhalten:

Programmgesteuertes Konfigurieren des Tasks Paket ausführen

Klicken Sie auf das folgende Thema, um weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften zu erhalten:

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 MSDN oder TechNet:

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