SSIS-Pakete auf SQL Server 2012 upgraden
avatar

Im Zuge der Einarbeitung in den SQL Server 2012, der Ende Februar in Deutschland offiziell vorgestellt wurde, habe ich mir auch die neuen Features der Integration Services angesehen.

Dabei bin ich auf folgendes Whitepaper von Microsoft gestoßen: „5 Tips for a Smooth SSIS Upgrade to SQL Server 2012“. Das Whitepaper liefert fünf hilfreiche Tipps, um einen möglichst reibungslosen Upgrade seiner SSIS-Pakete auf die neueste SQL Server Version zu ermöglichen und auch im Nachhinein von den neuen Möglichkeiten des SQL Server 2012 profitieren zu können. Während in früheren Versionen der Integration Services der Fokus stark auf den Paketen als einzelne Einheit lag, verschiebt sich dieser Fokus nun hin in eine gesamteinheitliche Betrachtung des SSIS-Projektes. Hier gibt es vor allem in der Bereitstellung von Paketen auf unterschiedlichen Systemen nützliche Neuerungen.

Für den Upgrade der Pakete steht ein „Conversion-Wizard“ zur Verfügung, der den Upgrade übernimmt. Dieser (SSISUpgrade.exe) findet sich im folgenden Pfad Ihrer SQL Server Installation wieder:

%ProgramFiles%\Microsoft SQL Server\110\DTS\Binn

Sie können den Wizard manuell starten. Bei der Öffnung eines „alten“ Integration Services Projekt in der neuen Entwicklungsumgebung SQL Server Data Tools öffnet sich der Wizard jedoch auch automatisch. (Einen ersten Einblick in die neue Oberfläche der SQL Server Data Tools erhalten Sie im folgenden Blog „Kein BI Development Studio (BIDS) in SQL Server 2012! – Erste Einblicke in die SQL Server Data Tools.“)

clip_image002

Klicken Sie auf Next. Sie haben nun die Möglichkeit ein Backup ihres SSIS-Projektes zu erstellen:

clip_image003

Wie bei jedem Backup ist es natürlich auch an dieser Stelle ratsam davon Gebrauch zu machen. Der Konvertierungs-Wizard passt in diesem Schritt Eigenschaften der Pakete an und ändert das Paket-Format.

clip_image004

Am Ende des Vorgangs kann man sich einen Bericht über die Konvertierung anzeigen lassen.

clip_image006

Nach der Konvertierung des Projektes kommen nun die Tipps aus dem Microsoft Whitepaper zum Tragen:

 

Tipp Nr. 1: Bearbeiten Sie die Paketkonfiguration und Datenquellen nach der Konvertierung

Der Upgrade-Wizard ändert keine Connection-Einstellungen, die Sie in Paketkonfigurationen eingetragen haben. Dies müssen Sie manuell durchführen. Haben sie zum Beispiel ein SSIS-Paket und einen Verbindungsmanager über den Sie sich mit einer SQL Server Datenbank verbinden, so müssen Sie nachträglich den Provider in der Konfigurationsdatei anpassen. Ändern Sie den Provider Namen von SQLNCLI.1 zu SQLNCLI11.1. Andernfalls erhalten Sie auf einem System, auf dem nur SQL Server 2012 installiert folgende Fehlermeldung:

“The requested OLE DB provider SQLNCLI.1 is not registered. If the 32-bit driver is not installed, run the package in 64-bit mode. Error code: 0x00000000. An OLE DB record is available. Source: „Microsoft OLE DB Service Components“ Hresult: 0x80040154 Description: „Class not registered“

 

Tipp Nr. 2: Wechseln Sie zum Project Deployment Model

In SQL Server 2012 werden nun zwei unterschiedliche Bereitstellungsmodelle unterstützt: Paket-Deployment und das neue Project Deployment. Konvertierte Pakete befinden sich nach wie vor im Paket-Deployment-Modell und sollten ebenfalls manuell umgestellt werden. Das Project-Deployment-Modell bietet zusätzliche Möglichkeiten wie zum Beispiel Parameter und den Integration Services Catalog. Dies ist im SQL Server 2012 der zentrale Speicherort für die Administration von SSIS-Projekten und Pakete.

Unter diesem Link erhalten Sie ausführliche Informationen zum Project Deployment:

Project Deployment Overview in SQL Server

Zum Wechseln auf das Project Deployment klicken Sie mit rechts im Solution Explorer auf ihr Projekt und wählen den Eintrag „Convert to Project Deployment Model“ aus.

clip_image007

Der Integration Services Project Conversion Wizard führt Sie durch den Prozess.

clip_image009

Nachdem Sie alle gewünschten Anpassungen im Wizard vorgenommen haben, erhalten Sie eine Meldung, über den Status der Konvertierung.

clip_image011

Und auch die Ansicht des Projektes im Solution Explorer ändert sich leicht.

clip_image012

 

Tipp Nr. 3: Aktualisieren von „Paket Ausführen“-Tasks durch Nutzen von „Project Reference“

In Projekten kommt häufig der „Paket Ausführen“-Task zum Einsatz mit dem man aus einem Paket (Parent-Package) heraus ein anderes Paket (Child-Package) aufrufen kann. Vor SQL Server 2012 wählen Sie dazu das auszuführende Paket z.B. aus dem Dateisystem aus. Die beiden Pakete (Parent-Package und Child-Package) referenzieren sich dann über einen Verbindungsmanager. Bei einem Deployment z.B. auf ein anderes System muss auch der Verbindungsmanager entsprechend angepasst werden.

Im Zuge der Konvertierung zum Project Deployment werden Sie aufgefordert, diese Tasks zu aktualisieren. Sie können nun die Project Reference nutzen, um Parent-und Child-Packages miteinander zu referenzieren. Befinden sich beide Pakete im gleichen Projekt geschieht das ganz einfach über den Namen des Paketes. Man muss beim Deployment an dieser Stelle keinen Verbindungsmanager mehr anpassen. Wenn Sie Daten aus dem Parent-Package an das Child-Package übergeben wollen, dann können Sie das über die Parameter bindings erreichen.

clip_image014

 

Tipp Nr. 4: Parametrisierung der Package-Name Eigenschaft im Paket-Ausführen-Task

Wie bereits erwähnt, wurden vor der Version 2012 des SQL Server Pakete im Paket-Ausführen-Task über einen Verbindungsmanager miteinander referenziert. Hat man mit der Paketkonfiguration gearbeitet, musste man den Connection-String in der Paketkonfiguration anpassen, damit zur Laufzeit und abhängig vom System das korrekte Paket ausgeführt wird.

Wenn Sie zum Project Deployment-Modell wechseln, wird der Verbindungsmanager, den Sie zuvor erstellt hatten, nicht mehr genutzt. Um den Paket-Ausführen-Task weiterhin dynamisch zu verwenden und anzugeben, welches Paket ausgeführt werden soll, müssen Sie nun einen Parameter erstellen und diesen auf die Paket-Namen Eigenschaft mappen.

clip_image016

 

Tipp Nr. 5: Nutzen Sie Parameter statt Paketkonfiguration

Parameter sind neu in SQL Server 2012 und werden genutzt, um Werte zu Paket-Eigenschaften zur Design- und Laufzeit zuzuweisen. Dadurch wird die Paket-Konfiguration ersetzt. Sie können die Paketkonfiguration zwar weiterhin nutzen, sollten dies jedoch nur als Übergangslösung in Betracht ziehen. Sie können sogar beide Varianten gleichzeitig nutzen. Dabei müssen Sie jedoch bedenken, dass zur Laufzeit zunächst die Werte aus der Paketkonfiguration verwendet werden. Im nächsten Schritt werden die Werte aus der Paketkonfiguration jedoch durch die Parameter überschrieben.

Das Whitepaper zum Nachlesen finden Sie unter folgendem Link:

5 Tips for a Smooth SSIS Upgrade to SQL Server 2012

Ein Gedanke zu “SSIS-Pakete auf SQL Server 2012 upgraden
avatar

  1. Pingback: SSIS-Pakete auf SQL Server 2012 upgraden - SharePoint Blogs in German - Bamboo Nation

Schreibe einen Kommentar