Thomas Ingenhorst

Der SQL Server 2016 bietet einige Neuerungen in den Integration Services. Eine dieser Neuerung sind die wiederverwendbaren Paketteile in der Ablaufsteuerung, die ich hier an einem einfachen Beispiel erklären möchte. Bei der Entwicklung von SSIS-Paketen kann es vorkommen, dass gewisse Teile in mehreren Paketen identisch oder nur mit geringen Abweichungen verwendet werden. Dies kann das Laden einer bestimmten Quelle, das Aktualisieren von Statistiken und Indizes oder aber die Beladung einer partitionierten Tabelle mittels Partition Switching sein. Um die Funktion zu verdeutlichen, werde ich ein wiederverwendbares Paket erstellen, welches Daten in eine bestimmte Quelle lädt.

Um ein wiederverwendbares Paket zu erstellen, gibt es im Solution Explorer einen neuen Ordner „Package Parts“. Mit einem Rechtsklick lassen sich hier wiederverwendbare Pakete erstellen oder hinzufügen. In meinem Beispiel erstelle ich ein neues Paket und belade eine Tabelle mit Systemlogs. Die neuen Pakete haben die Endung „.dtsxp“ – für Package Part.

Wiederverwendbares Paket

Nachdem das Paket gespeichert wurde, lässt es sich mittels Drag&Drop aus der SSIS-Toolbox in die Ablaufsteuerung meiner Pakete hinzufügen. Ein Doppelklick auf mein Paketteil öffnet dann nicht den Data Flow Task, sondern eine Konfigurationsseite um Eigenschaften und Variablen zu übergeben. So kann ich mein Paketteil je nach Bedürfniss noch geringfügig anpassen. Das wiederverwendbare Paketteil erkennt man an dem kleinem (P) in der Komponente. So lässt sich sehr leicht ein wiederverwendbares Paket einer Ablaufsteuerung hinzufügen.

Paket hinzufügen

 

Sobald ich das Paket zum ersten Mal speicher, erscheint im Solution Explorer unterhalb meines SSIS-Pakets ein Verweis auf mein wiederverwendbares Paket. Diese Datei ist jedoch nur während der Entwicklung sichtbar und trägt deshalb die Endung „.designer“. Wenn ich mein Projekt in die SSISDB deploye, erhalte ich nur noch meine „.dtsx“ Pakete und die Verweise auf wiederverwendbare Pakete sind nicht mehr sichtbar. Mein Paket kann nun mit dem zusätzlichem Paketteil verwendet werden.

Paket mit wvPaket

 

Verweis oder Kopie?

Es lassen sich mit einem Rechtsklick auf „Control Flow“ auch bereits existierende Paketteile aus anderen SSIS-Projekten hinzufügen. Hier gibt es zwei verschiedene Arten, die über den Haken „add as reference“ gesteuert werden. Wenn der Haken gesetzt ist, wird das wiederverwendbare Paket als Verweis hinzugefügt, andernfalls als Kopie.

Verweis: Wenn ein wiederverwendbares Paket als Verweis hinzugefügt wurde, dann werden sämtliche Änderungen dem Paketteil automatisch hinzugefügt, auch wenn diese Änderung in einem anderem Projekt vorgenommen wurde.

Kopie: Wenn ein wiederverwendbares Paket jedoch als Kopie hinzugefügt wurde, dann werden keine Änderungen außerhalb des Projekts übernommen. Dieses Paketteil gehört dann ausschließlich zu dem einem Projekt.