Zum Thema Denali gab es hier im Flurfunk bereits zwei Beiträge von unserem eXpert Viktor Ewert. Der erste war die Ankündigung der CTP3 mit einigen wichtigen Links, der zweite zeigte die Neuerungen bei der Installation, insbesondere die neuen Features die mit installiert werden können.
Auch im Bereich SSIS gibt es mit Denali einige Neuerungen. Das ist besonders erfreulich, da in den Vorgängerversionen 2008 bzw. 2008 R2 die Integration Services eher spärlich weiter entwickelt wurden. Dafür gibt es nun einige neue Features, die bekannte Probleme beheben. >> mehr…
Lineage IDs fallen weg (!!)
Die aus meiner Sicht wichtigste Neuerung ist das Wegfallen der Lineage IDs. Jeder kennt das Problem, wenn sich an einer Datenquelle etwas ändert, z.B. der Datentyp einer Spalte von VARCHAR(10) auf VARCHAR(20). SSIS hat nun das Problem, dass in allen nachfolgenden Datenflusstasks die Spalte nicht mehr gültig ist und ein manueller Refresh des Tasks erforderlich ist. Dieses Problem ist nun behoben; statt über Lineage IDs arbeitet SSIS nun mit Spaltennamen. Ändert sich dieser nicht, so bleibt der Input gültig. Das ist eine sehr große Erleichterung, da Änderungen an Spalten weit oben im Datenfluss bisher immer großen Anpassungsaufwand mit sich brachten. Selbst in Expressions in Derived Columns werden die Spaltennamen automatisch aktualisiert, wenn sich der Name in der Quelle ändert. Der Beweis, dass es einen Bezug über den Namen geben muss!
Projektweite Connection Manager
Ebenso ein bekanntes Problem: Connection Manager waren bisher nur lokal in einem Paket möglich und mussten kopiert werden, um sie in einem anderen Paket zu verwenden. Das brachte einen Mehraufwand mit sich, wenn zusätzlicher Connection Manager benötigt wurde. In Denali gibt es nun projektweit gültige Connection Manager, die einmalig angelegt werden und dann in jedem Paket des Projekts referenziert werden können. Ein lokal angelegter Connection Manager kann zudem per Rechtsklick in einen globalen umgewandelt werden. Daumen hoch für diese Neuerung!
Gruppieren von Data Flow Tasks
Zwar ein rein äußerliches Feature, aber dennoch sehr nützlich: Einzelne Tasks kann man nun per Rechtsklick logisch zusammenfassen. Diese werden dann gruppiert und mit einem Kasten umrahmt. Diesen Kasten kann man ein- und ausklappen und so die Übersichtlichkeit des SSIS Pakets erhöhen. Auch wenn es rein funktional nichts ändert ist es doch ein sehr nützliches Feature, besonders wenn ein SSIS Paket eine gewisse Größe und Komplexität erreicht hat. Auch das Verschieben (oder Entfernen) von gruppierten Tasks ist so einfacher möglich.
Als besondere Zugabe wurden noch ein paar 3D-Effekte eingebaut
Undo / Redo
Eigenlich unglaublich, aber wahr: Diese Funktion erhält nun auch Einlass in die SSIS Entwicklung. Vermutlich wollte man erst sichergehen, dass dieses Feature auch wirklich gebraucht wird. War vorher schon ein Muß, also aus meiner Sicht eher ein Bugfix als ein neues Feature.
Markierung für Connection Manager und Variablen mit Expressions
Ein Feature aus dem BIDS Helper: Variablen oder Connection Manager hinter denen Expressions liegen oder die per SSIS Coniguration gesetzt werden, werden mit einem kleinen Funktionssymbol gekennzeichnet.
Neues XML Format
Wer sich mal ein Paket in Denali per “View Code” angeschaut hat, der bemerkt dass sich das Format des XMLs geändert hat. Dieses neue Format soll nun auch per Diff vergleichbar sein, was bisher für SSIS nicht möglich war. Diese Neuerung ist, wenn sie wirklich einwandfrei funktioniert, ein großer Schritt für die Sourcecode Verwaltung von SSIS.
Data Quality Transformation
Habe ich zwar selbst noch nicht getestet, soll aber ermöglichen, Qualitätsregeln automatisch auf den Datenfluss anzuwenden. Diese Regeln soll man sich z.B. über den Azure DataMarket beschaffen können. Ein Anwendungsbeispiel wäre zu prüfen, ob eine ISIN eines Wertpapieres tatsächlich existiert. Ein anderes ob eine PLZ einer Adresse zu einem angegebenen Ort passt.
Konfiguration, Parameter, Umgebungen
Das Thema Konfiguration in Denali hat sich so grundlegend geändert und verbessert, dass es einen eigenen Beitrag verdient. Hier nur kurz die wichtigsten Informationen in Kürze.
-
Parameter sind ein neues Konzept in SSIS Paketen. Auf den ersten Blick ähneln sie Variablen, sie können aber beim Aufruf eines Paketes aus dem SSMS oder einem Execute Package Task gesetzt werden. Sie sind wie Eingabewerte einer Methode in C# zu verstehen, nur eben in SSIS für einen Paketaufruf. Der Execute Package Task sieht für die Parameterübergabe nun einen eigenen Tab vor. Parameter sind quasi der Ersatz für die Package Configurations. Parameter können Paket- oder Projektscope besitzen. Mehr Infos zu Parametern gibt es hier.
-
Environments (=Umgebungen) sind eine sehr nützliche Erweiterung im Rahmen der Konfiguration eines Paketes. Nur soviel: Es können beliebige Umgebungen im SSIS Projekt angelegt (Development, Test, Prelive, Produktion) und für Variablen für diese Umgebungen angelegt werden. Diese Variablen können dann beispielsweise für den Connection String eines Connection Managers verwendet werden. Beim Aufruf des Paketes wird einfach die gewünschte Umgebung angegeben und es werden automatisch die richtigen Werte für diese ausgewählt. Klasse!
-
Deployment ist nun auch aus dem Visual Studio heraus möglich. Mehr dazu hier.
Sonstiges neue Features
Der Vollständigkeit halber hier eine Liste mit weiteren kleineren Neuerungen:
-
Verbessertes Variablenfenster, Scope nun per Default auf Paketebene, Scope kann verschoben werden ohne Variable löschen zu müssen
-
Übersichtlichere Toolbox: Tasks sind sinnvoll gruppiert
-
Neuer grafischer Data Flow Column Mapper
-
SSIS Server ist jetzt in die Datenbank integriert und erscheint als Ordner im Management Studio. Zudem gibt es Logging- und Auditreports dazu. Eine Ablösung für eigens erstellte Logging-Lösungen?
Links
Zum Thema SSIS in Denali haben auch schon andere gute Blogeinträge geschrieben:
Fazit
Mein Fazit über SSIS in Denali CTP3 ist überwiegend positiv! Mit den neuen Features, besonders im Bereich Konfiguration und Deployment, steigt SSIS in die Liga der Top ETL Tools auf. Vom Funktionsumfang war es das schon vorher, die Manageability wurde in Denali nun nachgezogen! Einziger kleiner Makel: Die Anzeige im SSIS Designer ist zwar deutlich aufgehübscht worden, beim Ein- und Ausklappen von Gruppierungen überlappen leider die gruppierten Tasks aber mit denen darunter. Verschmerzbar.
Sie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Instagram. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen