Integration Services. DAKE Maturavorbereitung. Carola Ottmann 8QBIFS 2010/11



Ähnliche Dokumente
Sichern der persönlichen Daten auf einem Windows Computer

OP-LOG

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Integration Services - Dienstarchitektur

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen zu SQL Server Analysis Services-Daten

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

-Versand an Galileo Kundenstamm. Galileo / Outlook

datenfabrik. Validieren von -Adressen 1

Die Dateiablage Der Weg zur Dateiablage

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Kurzeinführung Excel2App. Version 1.0.0

Bedienungsanleitung. FarmPilot-Uploader

datenfabrik.phone Telefonnummern mit den SQL Server Integration Services validieren

6.3 Serienbriefe über Microsoft Excel und Word

! " # $ " % & Nicki Wruck worldwidewruck

CVR Seniorentreff vom 04. und Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Erstellen von Mailboxen

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Excel Pivot-Tabellen 2010 effektiv

Hilfe zur Dokumentenverwaltung

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

DPV Datenbankexport für eigene Auswertungen DBF nach Excel mit Filterung der Daten (über MSQuery)

Warenwirtschaft Handbuch - Administration

Registrierung am Elterninformationssysytem: ClaXss Infoline

Version NotarNet Bürokommunikation. Bedienungsanleitung für den ZCS-Import-Assistenten für Outlook

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Bedienungsanleitung für den SecureCourier

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Adminer: Installationsanleitung

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

PowerMover. Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende s schneller verwaltet werden. Vasquez Systemlösungen

Kommunikations-Management

Installieren und Verwenden von Document Distributor

Alerts für Microsoft CRM 4.0

ZIMT-Dokumentation für Studierende Webmail-Oberfläche (Roundcube)

Handbuch. ECDL 2003 Professional Modul 3: Kommunikation. Signatur erstellen und verwenden sowie Nachrichtenoptionen

Artikel Schnittstelle über CSV

Live Update (Auto Update)

Auswertung erstellen: Liste mit -

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

Übersicht über Document Portal

Word austricksen FORTSETZUNG. Serienbriefe Für Word XP. Word austricksen Fortsetzung: Serienbriefe. Roland Egli Educational Solutions

Inhalt. meliarts. 1. Allgemeine Informationen Administration Aufruf Das Kontextmenü Vorlagen...

QR-FUNKTION. Informationen über zu erledigende Aufgaben an das Reinigungspersonal senden.

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Kurzanleitung. Toolbox. T_xls_Import

Shellfire L2TP-IPSec Setup Windows XP

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Installationsanleitungen

teamsync Kurzanleitung

Automatisches Beantworten von - Nachrichten mit einem Exchange Server-Konto

Übung - Datensicherung und Wiederherstellung in Windows 7

OUTLOOK-DATEN SICHERN

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Tipps und Tricks zu Netop Vision und Vision Pro

Dokumentation. estat Version 2.0

VIDA ADMIN KURZANLEITUNG

3. GLIEDERUNG. Aufgabe:

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

Kostenstellen verwalten. Tipps & Tricks

Neue Funktionen im GUI für PC-DMIS V3.x 4.x Seite 1 von 8

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Arbeitsblätter auf die Schülercomputer verteilen, öffnen und wieder einsammeln

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

LimeSurvey -Anbindung

Checkliste Installation. Novaline Bautec.One

" -Adresse": Geben Sie hier bitte die vorher eingerichtete Adresse ein.

Einfügen mit Hilfe des Assistenten: Um eine Seite hinzufügen zu können, müssen Sie nur mehr auf ein Symbol Stelle klicken.

Handbuch Groupware - Mailserver

Dokumentation zum Spielserver der Software Challenge

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Klassifikationen erfassen und importieren.

Die Excel Schnittstelle - Pro Pack

RightsLink der Frankfurter Buchmesse Dokumentation

Whitepaper. Produkt: combit address manager / combit Relationship Manager. Datenabgleich zwischen Notebook und Desktop-PC / Server

Frankieren in Microsoft Word mit dem E Porto Add in der Deutschen Post

Anleitung für TYPO Bevor Sie beginnen Newsletter anlegen Inhalt platzieren und bearbeiten Neuen Inhalt anlegen...

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Datenbanken auf Sybase SQL-Anywhere

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

AdmiCash-Wiederherstellung auf einem neuen PC oder Betriebssystem

Einrichten eines IMAP Kontos unter Outlook Express

Transkript:

Integration Services DAKE Maturavorbereitung 8QBIFS 2010/11

Inhaltsverzeichnis 1. INTEGRATION SERVICES ALLGEMEIN... 2 2. VORBEREITUNG DER DATENBANK... 3 3. VARIABLEN... 4 4. SKRIPTTASK... 5 5. SKRIPTKOMPONENTE... 12 6. VERGLEICH SKRIPTTASK/SKRIPTKOMPONENTE... 22 7. TRANSFORMATION FÜR BEDINGTES TEILEN... 23 8. TRANSFORMATION FÜR MULTICAST... 29 9. SEQUENZCONTAINER... 35 10. TASK 'DATENBANK SICHERN'... 41 11. TASK 'MAIL SENDEN'... 45 12. TASK 'DATEISYSTEM'... 50 13. TASK 'WEBDIENST'... 56 14. XML-TASK... 61 15. TASK 'EXECUTE PROCESS'... 72 16. TASK 'EXECUTE SQL'... 73 17. FOREACH-CONTAINER... 73 18. VERBINDUNGSMANAGER... 73 19. TASK "DATAFLOW"... 74 20. TRANSFORMATION 'DERIVED COLUMN'... 75 21. TRANSFORMATION 'DATA CONVERSION'... 75 22. TRANSFORMATION 'MERGEJOIN'... 76 23. BEISPIEL ABLAUFSTEUERUNG EINES ETL-PAKETS... 77 Seite 1 von 78

1. Integration Services Allgemein Datenintegration, Datenanalyse und das Reporting bilden die Grundpfeiler von Business Intelligence in einem Unternehmen. Beim SQL Server 2008 R2 werden diese BI-Prozesse im Rahmen von Services behandelt als Integration, Analysis und Reporting Services. Diese drei Dienste bilden das BI-Grundkorsett des SQL Servers, wobei hier nur auf die Integration Services näher eingegangen wird. Mit den Integration Services (kurz SSIS genannt) stellt der SQL Server eine Plattform für den Datenimport aus verschiedenen Datenquellen, deren Bereinigung und Transformation und schlussendlich für den Datenexport zur Verfügung. Ein breites Repertoire von vorgefertigten Komponenten sorgt für eine adäquate Datenmanipulation von Massendaten für BI eines Unternehmens. Für das Entwickeln und Verwalten dieser SSIS-Pakete stellt der SQL-Server zwei Umgebungen bereit: das Business Intelligence Development Studio, welches das Entwickeln von IS-Paketen unterstützt, während das SQL Server Management Studio die Verwaltung dieser Pakete in Test- und Produktionsumgebungen unterstützt. Das BI-Development Studio stellt einen sogen. SSIS-Designer zur Verfügung, mit dessen Hilfe Schritt für Schritt ein einfaches ETL-Paket einschließlich Schleifen, Konfigurationen, Fehlerflusslogik und Protokollierung erstellt werden kann. Es werden bereits zahlreiche vorgefertigte Komponenten zur Verfügung gestellt, die das Importieren, Transformieren und Exportieren der bereitgestellten Daten unterstützen. Ein ETL-Basispaket enthält u.a. folgende Elemente: Ablaufsteuerungselemente: diese führen verschiedene Funktionen aus, stellen Struktur bereit und kontrollieren die Reihenfolge, in der Elemente ausgeführt werden. Die Hauptablaufsteuerungselemente sind Tasks, Container und Rangfolgeneinschränkungen. Es muss wenigstens ein solches Element in einem Paket geben. Datenflusselemente: diese optionalen Elemente extrahieren, ändern und laden Daten in Datenquellen. Die Hauptdatenflusselemente sind Quellen, Transformationen und Ziele. In dieser Ausarbeitung werden einzelne von SSIS zur Verfügung gestellten Tasks und Komponenten näher beschrieben und deren Aufgaben anhand von Beispielen veranschaulicht. Seite 2 von 78

2. Vorbereitung der Datenbank Für sämtliche Beispiele sind Tabellen notwendig, die in der Datenbank "Matura" auf den MS SQL- Server angelegt werden. Schritt 2.1: Datenbank "Matura" auf den MS SQL Server anlegen. Seite 3 von 78

3. Variablen In einem Integration Services-Paket können Werte und Objekte in Variablen zwischengespeichert werden. Der Datentyp jeder Variable wird bei der Variablenanlage festgelegt. In zahlreichen Tasks und Komponenten kann auf Variablen lesend zugegriffen werden. Es stehen jedoch nur wenige Tasks und Komponenten zur Verfügung um den Wert von Variablen zu ändern. Eigenschaften von Tasks und Komponenten können dynamisch über Ausdrücke gesetzt werden. Die Nutzung von Variablen ist in allen Ausdrücken möglich. Variablen werden in einem Variablenfenster definiert und verwaltet. Das Variablenfenster kann über das Kontextmenü im SSIS-Designer oder alternativ mit dem Menübefehl Ansicht/weitere Fenster/Variablen geöffnet werden. Variablendefinition Im Fenster Variablen stehen fünf Menü-Schaltflächen für die Bearbeitung von Variablen zur Verfügung: Variable neu anlegen Variable löschen Systemvariablen anzeigen Benutzervariablen anzeigen Variablenspalten auswählen Standardmäßig werden nur die Benutzervariablen angezeigt. Der Variablenname ist frei wählbar und wird direkt im Variablenfenster editiert. Initialisierung von Variablen Bei der Anlage von Variablen wird den Variablen explizit ein Initialwert zugewiesen. Alle Variablen können zusätzlich in der Paket-Konfiguration konfiguriert werden. Wird ein Paket gestartet, wird der Variablen zuerst ihr Initialwert zugewiesen und anschließend wird die Paketkonfiguration durchlaufen. Mit dem zuletzt zugewiesenen Wert wird das Paket dann ausgeführt. Verwendung von Variablen Innerhalb der Integration Services können Variablen flexibel verwendet werden. In vielen Komponenten kann auf Variablen lesend und schreibend zugegriffen werden. Allerdings unterscheidet sich die Art des Zugriffes von Komponente zu Komponente. Dies ist dadurch begründet, dass jede Komponente und jeder Task ein eigenes Entwicklungsprojekt ist. Da es bisher noch keine Best-Practice- Empfehlung für die Variablenschnittstelle gibt, hat jeder Komponenten-Entwickler diese neu kreiert. Eine sehr gute und einfache Möglichkeit Variablen zu ändern ist die Verwendung eines Skripttasks. Des Weiteren können Variablen in allen SQL-Tasks und SQL-Komponenten als Parameter verwendet werden. Die Möglichkeiten und die Syntax sind vom genutzten Datenbankprovider anhängig. Auch bei der Verwendung des SQL-Servers ist die Syntax davon abhängig, welcher Verbindungstyp (OLE DB, ADO.NET, ADO oder ODBC) verwendet wird. Die beiden For-Container (For- und Foreach-) der Ablaufsteuerung bieten elegante Möglichkeiten Variablen automatisch zu füllen und in die Weiterbearbeitung einfließen zu lassen. Der For-Schleifencontainer kann auch für die einfache Wertezuweisung einer Variablen verwendet werden. Besondere Wichtigkeit hat die Verwendung von Variablen auch in Ausdrücken (siehe http://technet.microsoft.com/de-de/library/ms141214.aspx). Ein Beispiel einer solchen Verwendung ist unter Skripttask und Sequenzcontainer zu finden. Details über Variablen unter http://technet.microsoft.com/de-de/library/ms140216.aspx. Seite 4 von 78

4. Skripttask stellt Code zum Ausführen von Funktionen bereit, die in den integrierten Tasks und Transformationen von SSIS nicht verfügbar sind. Der Skripttask kann auch Funktionen in einem einzigen Skript zusammenfassen, statt mehrere Tasks und Transformationen zu verwenden. Der Skripttask wird auf der Registerkarte Ablaufsteuerung des Designers konfiguriert. Beispiele für die Verwendung Zugriff auf Daten mithilfe anderer Technologie, die nicht von integrierten Verbindungstypen unterstützt werden, zb um mit Active Directory Service Interfaces (ADSI) auf Benutzernamen von AD zugreifen zu können. Identifizieren, ob angegebene Dateien leer sind bzw. wie viele Zeilen diese enthalten und deren Auswirkungen auf die Ablaufsteuerung in einem Paket auf Basis dieser Informationen. Enthält eine Datei zb 0 Zeilen, wird der Wert einer Variablen auf 0 festgelegt und eine Rangfolgeneinschränkung, die diesen Wert auswertet verhindert das Kopieren der Datei mit einem Dateisystemtask. Erstellen und Ausführen des Skripts Der Skripttask verwendet Microsoft Visual Studio-Tools für Anwendungen (VSTA) als Umgebung zum Erstellen der Skripts und des Moduls, mit dem die Skripts ausgeführt werden. VSTA stellt alle Standardfunktionen der Visual Studio-Umgebung, zb den Studio-Editor und den Debugger zur Verfügung und unterstützt die Programmiersprachen MS Visual C# 2008 und MS Visual Basic 2008. Beispiel Eine häufige Anwendung des Skripttasks ist die Manipulation von Variablen. In diesem Beispiel wird die User-Variable "KalWoche" in einem Skripttask mit der aktuellen Kalenderwoche gefüllt und in die Tabelle "KalWoche" in die MS SQL Datenbank "Matura" importiert. Schritt 4.1: neue Tabelle "KalWoche" in der MS SQL Datenbank "Matura" erstellen Seite 5 von 78

Schritt 4.2: Neues IS-Projekt in SQL Server Business Intelligence Development Studio anlegen Schritt 4.3: Variable "KalWoche" hinzufügen Schritt 4.4: Skripttask aus der Toolbox auswählen und in die Ablaufsteuerung ziehen Seite 6 von 78

Schritt 4.5: Skripttask umbenennen in "Variable KalWoche füllen" Schritt 4.6: im Editor des Skripttasks Skriptsprache und Variable festlegen ReadOnlyVariables: nur lesend zugreifen ReadWriteVariables: lesend und schreibend zugreifen Schritt 4.7: Code einfügen Seite 7 von 78

Schritt 4.8: Task 'SQL ausführen' hinzufügen Schritt 4.9: Task in "Wert an MS SQL DB" umbenennen Schritt 4.10: Neue OLE DB-Verbindung herstellen Seite 8 von 78

Schritt 4.11: ConnectionType, Connection, SQLStatement im SQL-Task-Editor eingeben Seite 9 von 78

Schritt 4.12: Parameter hinzufügen Schritt 4.13: Ausführen Seite 10 von 78

Schritt 4.14: überprüfen, ob Wert der Variable in die Tabelle "KalWoche" eingetragen wurde Idee von: http://www.sql-ssis.de/beispiel_skripttask_variable_kw.aspx Seite 11 von 78

5. Skriptkomponente Die Skriptkomponente hostet Skripts und ermöglicht einem Paket benutzerdefinierten Skriptcode auszuführen. Die Komponente wird auf der Registrierkarte Datenfluss des Designers konfiguriert und vereinfacht die Entwicklung von benutzerdefinierten Datenflussquellen, -transformationen oder zielen, falls diese in den integrierten Tasks und Transformationen von SSIS nicht verfügbar sind. Die Komponente unterstützt eine Eingabe und mehrere Ausgaben. Abhängig von der Verwendungsweise der Komponente unterstützt sie entweder eine Eingabe und/oder Ausgaben. Das Skript wird von jeder Zeile in der Eingabe oder Ausgabe aufgerufen. Die Skriptkomponente kann in Paketen für folgende Zwecke verwendet werden: Beispiele für die Verwendung Anwenden mehrerer Transformationen auf Daten, statt mehrere Transformationen im Datenfluss zu verwenden, zb können mit einem Skript die Werte in zwei Spalten hinzugefügt und dann der Mittelwert der Summer berechnet werden. Verwenden benutzerdefinierter Formeln und Funktionen zusätzlich zu den Funktionen und Operatoren von SSIS, zb Überprüfung von Kreditkartennummern mit speziellen Formeln. Überprüfen von Spaltendaten und Auslassen von Datensätzen mit ungültigen Daten, zb kann ein Skript auswerten, ob eine Postgebühr angemessen ist und Datensätze mit extrem hohen oder niedrigen Beträgen auslassen. Erstellen und Ausführen des Skripts Die Skriptkomponente verwendet Microsoft Visual Studio-Tools für Anwendungen (VSTA) als Umgebung zum Erstellen der Skripts. VSTA stellt alle Standardfunktionen der Visual Studio-Umgebung, zb den Studio-Editor und den Debugger zur Verfügung und unterstützt die Programmiersprachen MS Visual C# 2008 und MS Visual Basic 2008. Nach Konfiguration der Komponente mit den erwarteten Eingaben und Ausgaben wird automatisch der notwendige Infrastrukturcode generiert, damit nur mehr der Code implementiert werden muss, der für die benutzerdefinierte Verarbeitung erforderlich ist. Beispiel In diesem Beispiel wird gezeigt, wie eine Textdatei, in der sich jede Datenspalte auf einer separaten Zeile befindet, mithilfe der Skriptkomponente in eine Zieltabelle in eine MS SQL-Datenbank konvertiert werden kann. Seite 12 von 78

Schritt 5.1: neue Flatfile-Verbindung zu rowdelimiteddata.txt erstellen Seite 13 von 78

Schritt 5.2: Flatfilequelle erstellen, um Daten aus dem Textfile zu importieren Seite 14 von 78

Schritt 5.3: Mit Vorschau überprüfen, ob Daten aus dem Textfile richtig angezeigt werden Seite 15 von 78

Schritt 5.4: Skriptkomponente erstellen und als Transformation konfigurieren Schritt 5.5: Konfiguration der Skriptkomponente Seite 16 von 78

Schritt 5.6: SynchronousInputID auf "keine" setzen Schritt 5.7: Spalten hinzufügen mit jeweiligen Datentyp festlegen Seite 17 von 78

Schritt 5.8: Skriptsprache wählen Schritt 5.9: Code einfügen Seite 18 von 78

Schritt 5.10: OLE DB-Ziel hinzu fügen um Daten in die MS SQL-Datenbank zu exportieren Seite 19 von 78

Schritt 5.11: Task ausführen Seite 20 von 78

Schritt 5.12: Im MS SQL Server Management Studio überprüfen, ob Daten eingespielt wurden Seite 21 von 78

6. Vergleich Skripttask/Skriptkomponente Gemeinsamkeiten Bei Task und Komponente werden zunächst im Editor die Eigenschaften festgelegt und anschließend in der Entwicklungsumgebung Code implementiert. Task und Komponente verwenden dieselbe VSTA DIE und unterstützen MS Visual Basic oder MS Visual C#. Task und Komponente stellen benutzerdefinierten Skriptcode zur Verfügung um so Anforderungen zu entsprechen, die durch die bereitgestellten tasks und Komponenten von SSIS nicht abgedeckt sind. Task und Komponente können Variablen verwenden Unterschiede Skripttask Skriptkomponente Verwendung Ablaufsteuerung Datenfluss Ziel Kann fast jede allgemeine Aufgabe ausführen Kann Quelle, Transformation oder Ziel sein Ausführung Führt benutzerdefinierten Code an einem bestimmten Punkt im Paketworkflow aus und wird nur einmal ausgeführt. Benutzerdefinierter Code wird für jede Datensatzzeile ausgeführt. Weitere Unterschiede siehe http://technet.microsoft.com/de-de/library/ms136031.aspx Seite 22 von 78

7. Transformation für bedingtes Teilen Die Transformation für bedingtes Teilen kann Datenzeilen je nach Dateninhalt an andere Ausgaben routen. Eine Eingabe kann an mehrere Ausgaben weiter geleitet werden. Die Implementierung dieses Tasks ist mit einer CASE-Entscheidungsstruktur in einer Programmiersprache zu vergleichen. Diese Transformation wertet Ausdrücke aus und leitet dann basierend auf den Ergebnissen die Datenzeilen an die eine angegebene Ausgabe weiter. Diese Transformation stellt außerdem eine Standardausgabe bereit, damit eine Zeile, die mit keinem Ausdruck übereinstimmt, an die Standardausgabe weitergeleitet wird. Die Transformation für bedingtes Teilen ist ein Datenfluss-Task. Beispiele für die Verwendung Auswertung fehlerhafter Datenfiles, um so korrekte Daten für die Weiterverarbeitung zu erhalten; fehlerhafte Daten können dementsprechend korrigiert oder vernichtet werden. Sortieren je nach Bedingung in verschiedene Ausgaben, so können zb in einem Datenfeld sämtliche Mitarbeiter aus den verschiedenen Abteilungen aufgelistet sein, die dann nach Abteilung getrennten Ausgaben aufgeteilt werden. Konfiguration der Transformation für bedingtes Teilen Erstellen eines Ausdrucks, der in einen booleschen Wert ausgewertet wird, für jede von der Transformation zu testenden Bedingung. Angabe der Reihenfolge, in der die Bedingungen ausgewertet werden. Die Reihenfolge ist wichtig, weil eine Zeile entsprechend der ersten Bedingung, die true ausgewertet wird, an die Ausgabe gesendet wird. Für die Transformation muss eine Standardausgabe angegeben werden. Beispiel Die Daten einer fehlerhaften Excel-Tabelle sind einzulesen. Bei den Daten handelt es sich um Nummern. Die Tabelle enthält Leerzeilen, Kommentare und einige der Nummern sind nur 6-stellig eingegeben. Aufgabe ist es, die korrekten Eingaben herauszufiltern und zur Weiterverarbeitung zur Verfügung zu stellen. Die fehlerhaften Zeilen sind zu ermitteln und anzuzeigen, Zeilen ohne Nummer sollen aussortiert werden. Die Weiterverarbeitung der Daten ist nicht Gegenstand dieses Beispiels. Seite 23 von 78

Schritt 7.1: Excel-Quelle für den Import der Daten aus Interessen.xls erstellen Seite 24 von 78

Schritt 7.2 Task "Bedingtes Teilen" hinzufügen Schritt 7.3: Bedingungen angeben; Ausgabename ist die jeweilig Pipeline, wenn die Bedingung zutrifft Seite 25 von 78

Schritt 7.4: zur Ausgabe wird für jede Möglichkeit zb ein "Multicasttask" hinzugefügt Schritt 7.5: Jeden einzelnen Multicast-Task mit dem "Bedingtes Teilen"-Task verbinden und gewünschte Ausgabe (Pipeline) wählen Seite 26 von 78

Schritt 7.6: Die "Standardausgabe" ist die Pipeline für die korrekten Datensätze Schritt 7.7 Um die Ausgabe zu visualisieren, zu jeder Pipeline eine "Dataview" hinzufügen Seite 27 von 78

Schritt 7.8: Task ausführen es erscheinen alle drei Dataviews mit den dementsprechenden Daten Idee von http://www.sql-ssis.de/beispiel_kompbedteil.aspx Seite 28 von 78

8. Transformation für Multicast Die Multicasttransformation verteilt ihre Eingabe an mindestens eine Ausgabe. Diese Transformation kann jede Zeile an jede Ausgabe weiterleiten. Mithilfe der Multicasttransformation kann ein Paket logische Kopien von Daten erstellen. Dies ist hilfreich, wenn das Paket mehrere Transformationen auf dieselben Daten anwenden muss. Die Transformation für Multicast ist ein Datenfluss-Task. Vergleich Transformation für Multicast/bedingtes Teilen Diese Transformation ist mit der für bedingtes Teilen vergleichbar. Beide Transformationen leiten eine Eingabe an mehrere Ausgaben weiter. Der Unterschied besteht darin, dass die Multicasttransformation jede Zeile an jede Ausgabe weiterleitet, während das bedingte Teilen eine Zeile an eine der Bedingung entsprechende einzelne Ausgabe weiterleitet. Beispiele für die Verwendung Ein und dasselbe Dataset wird verwendet, um einerseits die Daten in eine Datenbank zu schreiben, andererseits sollen die Daten in einem Flatfile für einen Report zur Verfügung stehen. Beispiel Die korrekten Daten vom Beispiel aus dem Kapitel 3 "Transformation für bedingtes Teilen" sollen sowohl in die Tabelle Interessenten in die MS SQL Datenbank "Matura" geschrieben werden, als auch in einem txt-file als Grundlage für einen Report zur Verfügung stehen. Schritt 8.1: Anlegen einer Tabelle "Interessenten" in der MS SQL Datenbank "Matura" Seite 29 von 78

Schritt 8.2: Hinzufügen eines OLE DB-Ziels für den Export in die MS SQL Datenbank "Matura" Seite 30 von 78

Schritt 8.3: hinzufügen eines Flatfileziels zum Export der Daten in eine txt-datei Seite 31 von 78

Seite 32 von 78

Schritt 8.4: Ausführen Seite 33 von 78

Schritt 8.5: Überprüfung, ob die Daten in die DB eingespielt wurden Schritt 8.6: Überprüfung, ob die Daten in das Textfile eingespielt wurden. Seite 34 von 78

9. Sequenzcontainer Ein Sequenzcontainer bewirkt in erster Linie eine Gruppierung von SSIS-Task. Dies kann zum einen der Dokumentation dienen, zum anderen wird aber auch der Entwurf eines komplexen Paketes erleichtert, da die ganze Gruppe minimiert oder zu Testzwecken deaktiviert werden kann. Diese Deaktivierung erfolgt über das Kontextmenü oder die Eigenschaften des Sequenzcontainers. Der Wert für Disable steht in der Regel auf False. Stellt man ihn auf True, so wird der gesamte Container nicht mehr ausgeführt. Man kann diese Eigenschaft aber auch gezielt nutzen, um den Programmablauf im Paket zu steuern. Beispiel In einer Variablen sollen die Werte 0 bzw. 1, die zufällig über ein SQL-Statement generiert werden, gespeichert werden. Ist der Wert 1, dann wird ein standardmäßig auf "disable" gesetzter Sequenzcontainer aktiviert und der darin enthaltene Dummy-Dataflow ausgeführt. Ist der Wert 0, dann bleibt der Sequenzcontainer deaktiviert. Schritt 9.1: Variable "Wert" erstellen Schritt 9.2: SQL-Task hinzufügen Seite 35 von 78

Schritt 9.3: Im "Resultset" Variable hinzufügen, ggf. Ergebnisnamen ändern Seite 36 von 78

Schritt 9.4: Sequence Container hinzufügen Schritt 9.5: Eigenschaft des Sequence Container auf "Disable" setzen Seite 37 von 78

Schritt 9.6: Die Variable "Wert" in das Ausdruckfeld ziehen. Mit dem Ausdruck "==0" wird festgesetzt, dass der Sequenz Container "disable" gesetzt wird, sobald die Variable "Wert" = 0. Schritt 9.7: Der Sequence Container ist default-mäßig auf "disable" gesetzt, da der Initialwert der Variable "Wert" = 0. Seite 38 von 78

Schritt 9.8: zu Testzwecken eine Datenflusstask im Sequence Container erstellen. Dieser ist ebenfalls deaktiviert. Schritt 9.9: Ist beim Ausführen der Wert der Variable "Wert" = 1, dann wird der Sequence Container samt Inhalt ausgeführt Seite 39 von 78

Schritt 9.10: Ist beim Ausführen der Wert der Variable "Wert" = 0, dann wird der Sequence Container samt Inhalt NICHT ausgeführt. Idee von http://www.insidesql.org/blogs/cmu/sql_server/moeglichkeiten-des-sequenzcontainers Seite 40 von 78

10. Task 'Datenbank sichern' Mithilfe des Tasks Datenbank sichern kann ein Paket eine einzelne Datenbank oder mehrere Datenbanken sichern. Eine Sicherung der Datenbank ist für den Fall wichtig, dass die Datenbank bei einem System- oder Hardwareausfall (oder einem Benutzerfehler) beschädigt wird. In diesem Fall muss eine Sicherungskopie wiederhergestellt werden. Dieser Task ermöglicht vollständige und differenzielle Sicherungen sowie Sicherungen von Dateien, Dateigruppen und Transaktionsprotokollen. Beispiel Das Beispiel von Kapitel 8 wird weitergeführt. Im Sequence Container soll, wenn die Variable 'Wert' = 1, statt dem Datenflowtask eine vollständige Sicherung der Datenbank "Matura" erstellt werden. Schritt 10.1: Task 'Datenbank sichern' in den Sequence Container einfügen Schritt 10.2: Nach Doppelklick auf Task "Datenbank Sichern" neue Verbindung erstellen Seite 41 von 78

Schritt 10.3: Datenbank auswählen Schritt 10.4: Ordner für Sicherungsdatei eingeben Seite 42 von 78

Schritt 10.5 Der DB_Backup-Ordner ist vorerst noch leer Schritt 10.6: DB "Matura" sollte gesichert sein Seite 43 von 78

Schritt 10.7: Überprüfung im Explorer der Ordner Matura wurde angelegt und das Backup erstellt Seite 44 von 78

11. Task 'mail senden' Der Task Mail senden sendet eine E-Mail-Nachricht. Mithilfe des Tasks Mail senden kann ein Paket Nachrichten senden, wenn Tasks im Paket-Workflow erfolgreich ausgeführt werden oder einen Fehler erzeugen, oder Nachrichten als Antwort auf ein Ereignis senden, das vom Paket zur Laufzeit ausgelöst wird. Beispielsweise kann mit diesem Task ein Datenbankadministrator über das erfolgreiche Ausführen des Tasks Datenbank sichern benachrichtigt werden. Es gibt folgende Möglichkeiten, um den Task Mail senden zu konfigurieren: Nachrichtentext für die E-Mail-Nachricht eingeben Betreffzeile für die E-Mail-Nachricht eingeben Prioritätsstufe der Nachricht festlegen. Dieser Task unterstützt drei Prioritätsebenen: normal, niedrig und hoch. In den Zeilen An, Cc und Bcc die Empfänger angeben. Falls für den Task mehrere Empfänger angegeben sind, werden diese durch Semikolons getrennt. Beispiel Das Beispiel von Kapitel 9 wird fortgeführt. Nach erfolgreicher Sicherung der Datenbank "Matura" soll ein Email versandt werden. Schritt 11.1: Neue Verbindung erstellen Seite 45 von 78

Schritt 11.2: SMTP-Verbindung wählen Schritt 11.3: Name und SMTP-Server angeben Seite 46 von 78

Schritt 11.4: Task 'Mail senden' im Sequence Container erstellen Schritt 11.5: div. Einstellungen vornehmen Seite 47 von 78

Schritt 11.6: gewünschte Nachricht verfassen Schritt 11.7: nach erfolgreicher Ausführung sollte Email versandt werden Seite 48 von 78

Schritt 11.8: Überprüfen, ob Email angekommen ist Seite 49 von 78

12. Task 'Dateisystem' Der Task Dateisystem führt Operationen für Dateien und Verzeichnisse im Dateisystem aus. Beispielsweise kann ein Paket mit dem Task Dateisystem Verzeichnisse und Dateien erstellen, verschieben oder löschen. Darüber hinaus können mit dem Task Dateisystem Attribute für Dateien und Verzeichnisse festgelegt werden. Beispielsweise können mit dem Task Dateisystem Dateien als ausgeblendet oder schreibgeschützt festgelegt werden. Für alle Operationen mit dem Task Dateisystem wird eine Quelle verwendet, wobei es sich um eine Datei oder ein Verzeichnis handeln kann. Beispiele für Quellen sind die Datei, die von dem Task kopiert wird, oder das Verzeichnis, das von dem Task gelöscht wird. Die Quelle kann mithilfe eines Dateiverbindungs-Managers angegeben werden, der auf das Verzeichnis oder die Datei verweist, oder durch Eingabe des Namens einer Variablen, die den Quellpfad enthält. Für die Vorgänge zum Kopieren und Verschieben von Dateien und Verzeichnissen und zum Umbenennen von Dateien wird ein Ziel und eine Quelle verwendet. Das Ziel wird mithilfe eines Dateiverbindungs-Managers oder einer Variablen angegeben. Vorgänge mit dem Task Dateisystem können so konfiguriert werden, dass Zieldateien und -verzeichnisse überschrieben werden dürfen. Der Vorgang, bei dem ein neues Verzeichnis erstellt wird, kann so konfiguriert werden, dass ein vorhandenes Verzeichnis verwendet wird. Dieses weist den angegebenen Namen auf, und es wird kein Fehler erzeugt, wenn das Verzeichnis bereits besteht. Beispiel Die Dateien, die im Ordner "data" liegen, werden in den Ordner "bak" verschoben. Schritt 12.1: einen "bak" Ordner erstellen Seite 50 von 78

Schritt 12.2: Neue Dateiverbindung erstellen Schritt 12.3: Verwendungstyp wählen und Verzeichnis von bak-ordner wählen Schritt 12.4: Variable "Datei" mit der Angabe des Pfads der ersten zu verschiebenden Datei Seite 51 von 78

Schritt 12.5: Foreach Loop Container erstellen Schritt 12.6: Ordner und Dateien, die verschoben werden sollen, mit Platzhalten angeben Seite 52 von 78

Schritt 12.7: Variable "Datei" zuweisen Schritt 12.8: Task Dateisystem im Foreach Loop Container erstellen Seite 53 von 78

Schritt 12.9: Konfigurationen vornehmen Schritt 12.10: Die im Ordner "data" vorhandenen files sollten verschoben werden Seite 54 von 78

Schritt 12.11: ausführen Schritt 12.12: Ordner "data" ist leer Schritt 12.13: Dateien sind im Ordner "bak" vorhanden Seite 55 von 78

13. Task 'Webdienst' Der Task Webdienst führt eine Webdienstmethode aus. Der Task Webdienst kann für folgende Zwecke verwendet werden: Schreiben der von einer Webdienstmethode zurückgegebenen Werte in eine Variable. Beispielsweise können Sie die Tageshöchsttemperatur von einer Webdienstmethode abrufen und dann mit diesem Wert eine Variable aktualisieren, die in einem Ausdruck zum Festlegen eines Spaltenwertes verwendet wird. Schreiben der von einer Webdienstmethode zurückgegebenen Werte in eine Datei. Beispielsweise kann eine Liste potenzieller Kunden in eine Datei geschrieben werden. Diese Datei kann dann in einem Paket als Datenquelle verwendet werden, mit dem die Daten vor dem Schreiben in eine Datenbank bereinigt werden. Der Task Webdienst verwendet einen HTTP-Verbindungs-Manager, um eine Verbindung mit dem Webdienst herzustellen. Der HTTP-Verbindungs-Manager wird separat vom Task Webdienst konfiguriert, und im Task wird dann darauf verwiesen. Der HTTP-Verbindungs-Manager gibt die Serverproxyeinstellungen an, wie z. B. die Server-URL, Anmeldeinformationen für den Zugriff auf den Webdienstserver und die Timeoutlänge. Beispiel Ein Webdienst wird mittels http-verbindung aufgerufen und im Task 'Webdienst' konfiguriert. Schritt 13.1: Die Variablen "ConversionRateResponse" und ConversionRate" anlegen Schritt 13.2: Neue Verbindung hinzufügen Seite 56 von 78

Schritt 13.3: http-verbindung wählen Seite 57 von 78

Schritt 13.4: gewünschte URL eingeben -?wsdl anhängen, da die "Web Services Description Language-Datei" für den Webdienst herunter geladen wird. Schritt 13.5: Eine Textdatei "CurrencyConvertor.wsdl" erstellen Schritt 13.6: Task "Webdienst" erstellen Seite 58 von 78

Schritt 13.7: Sämtliche Konfigurationen vornehmen und "WSDL herunterladen" Schritt 13.8: Wenn die wsdl-datei erfolgreich heruntergeladen wurde sind sämtliche Informationen über den Webdienst vorhanden gewünschte Eingabekonfiguration vornehmen Seite 59 von 78

Schritt 13.9: Die Ausgabe soll in der Variable "ConversionRateResponse" gespeichert werden. Beispiel wird in Kapitel XML-Task fortgeführt Seite 60 von 78

14. XML-Task Der XML-Task wird für XML-Daten verwendet. Mit diesem Task kann ein Paket XML-Dokumente abrufen, mithilfe von XSLT-Stylesheets (Extensible Stylesheet Language Transformations) und XPath- Ausdrücken Vorgänge auf die Dokumente anwenden, mehrere Dokumente zusammenführen oder die aktualisierten Dokumente mit Dateien und Variablen überprüfen, vergleichen und speichern. Mit diesem Task kann ein Integration Services-Paket XML-Dokumente zur Laufzeit dynamisch ändern. Verwendung Neuformatieren eines XML-Dokuments. Beispielsweise kann der Task auf einen Bericht in einer XML-Datei zugreifen und ein XSLT-Stylesheet dynamisch anwenden, um die Dokumentpräsentation anzupassen. Auswählen von Abschnitten eines XML-Dokuments. Beispielsweise kann der Task auf einen Bericht in einer XML-Datei zugreifen und einen XPath-Ausdruck dynamisch anwenden, um einen Abschnitt des Dokuments auszuwählen. Mit dem Vorgang können auch Werte im Dokument abgerufen und verarbeitet werden. Zusammenführen von Dokumenten aus vielen Quellen. Beispielsweise können mit dem Task Berichte aus mehreren Quellen heruntergeladen und dynamisch zu einem umfassenden XML- Dokument zusammengeführt werden. XML-Daten können in einen Datenfluss eingeschlossen werden, indem Sie mithilfe einer XML- Quelle Werte aus einem XML-Dokument extrahieren. Der XML-Task kann eine Variable oder einen Dateiverbindungs-Manager als Quelle verwenden oder die XML-Daten in eine Taskeigenschaft einschließen. Der XML-Task kann so konfiguriert werden, dass das Ergebnis des Vorgangs in einer Variablen oder in einer Datei gespeichert wird. Falls das Ergebnis in einer Datei gespeichert wird, verwendet der XML- Task einen Dateiverbindungs-Manager für den Zugriff auf die Datei. Beispiel Das Beispiel von Kapitel Task 'Webdienst' wird weitergeführt. Es wird ein XML-Task eingerichtet, um die abgerufenen Informationen zu lesen und im Paket zu verwenden. Seite 61 von 78

Schritt 14.1: XML-Task erstellen Schritt 14.2: sämtliche Konfigurationen, wie hier angeführt, vornehmen Seite 62 von 78

Schritt 14.3: Zur Überprüfung der Variablen-Werte Haltepunkt setzen Schritt 14.4: 2. Option wählen Seite 63 von 78

Schritt 14.5: Im Fenster Lokal (Menü Debuggen/Fenster/Lokal) sind sämtliche Variablen aufgelistet, auch die User-Variablen "ConversionRateResponse" und "ConversionRate" mit den aktuellen Werten. Schritt 14.6: Überwachung dieser beiden Variablen hinzufügen Seite 64 von 78

Schritt 14.7: Somit können die aktuellen Werte zur Laufzeit überprüft werden Schritt 14.8: mit dem Ausführen fortfahren Haltepunkt wieder entfernen Seite 65 von 78

Schritt 14.9: um Werte für die Umrechnung zu erhalten, eine Tabelle "Sales" in der DB "Matura" mit den Spalten "LastName" und "Sales_USD" anlegen. Schritt 14.10: Tabelle "Sales" mit Daten füllen Seite 66 von 78

Schritt 14.11: Dataflow-Task hinzufügen Schritt 14.12: Eine OLE DB-Quelle hinzufügen Seite 67 von 78

Schritt 14.13: SQL-Statement hinzufügen, um Daten aus der Tabelle "Sales" zu importieren über Vorschau kann überprüft werden, ob das Statement korrekt ausgeführt wurde Schritt 14.14: Um die umgerechneten "Sales_USD" in EUR zu speichern wird eine Transformation "abgeleitete Spalten" hinzugefügt und mit der OLE DB-Quelle verbunden Seite 68 von 78

Schritt 14.15: Durch Drag&Drop können sämtl. Variablen, Spalten und Typen in das Ausdrucksfeld gezogen werden Name der abgeleiteten Spalte hinzufügen Schritt 14.16: Da die Speicherung der Daten nicht Gegenstand dieses Beispiels ist, wird der Datenfluss mit einer Transformation für Zeilenanzahl beendet. Dazu wird eine Variable "RowCount" angelegt. Dies ist nur ein kleiner Trick, um den Datenfluss zu beenden, der Wert der Variable wird nicht benötigt. Seite 69 von 78

Schritt 14.17: Transformation "Zeilenanzahl" hinzufügen Schritt 14.18: Die Variable "RowCount" hinzufügen Seite 70 von 78

Schritt 14.19: Um die Daten anzuzeigen einen Daten-Viewer zwischen "abgeleiteter Spalte" und "Zeilenanzahl" hinzufügen Schritt 14.20: Ausführen der Datenviewer zeigt die Daten an Der Aufbau dieses Beispiels kann hier nachgelesen werden, bzw. gibt es hier auch die Möglichkeit das Video herunter zu laden. http://technet.microsoft.com/de-de/library/cc952927%28sql.100%29.aspx Seite 71 von 78

Wiederholung der bereits bekannten Tasks 15. Task 'Execute Process' Der Task 'Prozess ausführen' führt eine Anwendung oder eine Batchdatei aus. Mit diesem Task können alle Standardanwendungen wie z. B. Microsoft Excel oder Microsoft Word geöffnet werden, normalerweise wird er jedoch zum Ausführen von Geschäftsanwendungen oder Batchdateien für eine Datenquelle verwendet. Beispiel Es können Dateien von einem anderen Rechner auf die lokale Maschine mittels WinSCP geladen werden. Anschließend kann das Paket die Dateien als Datenquelle für den Datenfluss verwenden. Schritt 15.1: Erstellen eines *.scp-skripts, das die cmd-befehle zum Kopieren der Daten vom entfernten Rechner enthält. Schritt 15.2: Erstellen eines Task 'Execute Process' in der Ablaufsteuerung Schritt 15.3: Angabe der Pfade, in der die ausführbare Datei von WinSCP liegt und das Skript zum Kopieren der Files Seite 72 von 78

16. Task 'Execute SQL' Der Task 'SQL ausführen' führt SQL-Anweisungen oder gespeicherte Prozeduren aus einem Paket aus. Dieser Task kann eine oder mehrere SQL-Anweisungen enthalten, die sequenziell ausgeführt werden. Der Task SQL ausführen kann für folgende Zwecke verwendet werden: Erstellen, Ändern und Löschen von Datenbankobjekten, wie z. B. Tabellen Neuerstellung von Fakten- und Dimensionstabellen vor dem Laden von Daten. Ausführen gespeicherter Prozeduren. Speichern des Rowsets, das von einer Abfrage zurückgegeben wird, in einer Variablen. Beispiel siehe Sequenzcontainer 17. Foreach-Container Der Foreach-Schleifencontainer definiert die Wiederholung einer Ablaufsteuerung in einem Paket. Die Schleifenimplementierung ist mit der Foreach-Schleifenstruktur in Programmiersprachen zu vergleichen. In einem Paket wird die Schleife mithilfe eines Foreach-Enumerators ermöglicht. Der Foreach-Schleifencontainer wiederholt die Ablaufsteuerung für jedes Mitglied eines angegebenen Enumerators. Beispiel siehe Task 'Dateisystem' 18. Verbindungsmanager Integration Services verwendet den Verbindungs-Manager als logische Darstellung einer Verbindung. Verbindungen werden zum Ausführen verschiedener Tasks und zum Implementieren von Integration Services-Funktionen verwendet, zb Herstellen einer Verbindung mit Quell- und Zieldatenspeichern, wie Text, XML, Excel-Arbeitsmappen und relationale Datenbanken, zum Extrahieren und Laden von Daten. Beispiel OLE-DB Connection siehe Skripttask Beispiel Flatfile Connection siehe Skriptkomponente Beispiel smtp Connection siehe Task 'mail senden' Seite 73 von 78

19. Task "Dataflow" Der Datenflusstask kapselt das Datenflussmodul, mit dem Daten zwischen Quellen und Zielen verschoben werden, und ermöglicht dem Benutzer das Transformieren, Bereinigen und Ändern von Daten beim Verschieben. Durch das Hinzufügen eines Datenflusstasks zu einer Paketablaufsteuerung kann das Paket Daten extrahieren, transformieren und laden. Ein Datenfluss besteht aus mindestens einer Datenflusskomponente, normalerweise jedoch aus verbundenen Datenflusskomponenten. Dabei handelt es sich um Quellen zum Extrahieren von Daten, Transformationen zum Ändern, Routen oder Zusammenfassen von Daten sowie Ziele zum Laden von Daten. Die Komponenten sind im Datenfluss durch Pfade miteinander verbunden. Jeder Pfad gibt als Komponenten den Beginn und das Ende des Pfads an. Quellen und Ziele können zb sein: OLE DB, Excel, flatfile Transformationen zb: abgeleitete Spalte, bedingtes Teilen, Datenkonvertierung, Multicast, Skriptkomponente, Zeilenzahl Beispiel extrahieren transformieren laden Seite 74 von 78

20. Transformation 'Derived Column' Mit der Transformation für 'abgeleitete Spalten' werden neue Spaltenwerte erstellt, indem Ausdrücke auf Transformationseingabespalten angewendet werden. Ein Ausdruck kann eine beliebige Kombination von Variablen, Funktionen, Operatoren und Spalten aus der Transformationseingabe enthalten. Das Ergebnis kann als neue Spalte hinzugefügt oder in eine vorhandene Spalte als Ersatzwert eingefügt werden. Die Transformation für abgeleitete Spalten kann mehrere abgeleitete Spalten definieren, und jede Variable oder Eingabespalte kann in mehreren Ausdrücken verwendet werden. Beispiel siehe XML-Task 21. Transformation 'Data Conversion' Die Transformation für Datenkonvertierung konvertiert die Daten in einer Eingabespalte in einen anderen Datentyp und kopiert sie dann in eine neue Ausgabespalte. Beispielsweise kann ein Paket Daten aus mehreren Quellen extrahieren und anschließend mithilfe dieser Transformation Spalten in den für den Zieldatenspeicher erforderlichen Datentyp konvertieren. Für eine einzelne Eingabespalte können mehrere Konvertierungen ausgeführt werden. Beispiel Seite 75 von 78

22. Transformation 'MergeJoin' Die Transformation für Zusammenführungsverknüpfung stellt eine Ausgabe bereit, die durch Verknüpfen von zwei sortierten (Transformation 'Sortieren') Datasets mithilfe einer FULL JOIN-, LEFT JOIN- oder INNER JOIN-Anweisung generiert wird. Seite 76 von 78

23. Beispiel Ablaufsteuerung eines ETL-Pakets Vorlage für diese Ausarbeitung und nähere Informationen über sämtliche verfügbaren SSIS-Tasks unter: http://technet.microsoft.com/de-de/library/ms137681.aspx Seite 77 von 78