Typische Verwendungen von SQL Server Integration Services

Integration Services stellt umfangreiche integrierte Tasks, Container, Transformationen und Datenadapter für die Entwicklung von Geschäftsanwendungen bereit. Ohne eine einzige Codezeile zu schreiben, können Sie SSIS-Lösungen erstellen, die komplexe Geschäftsprobleme mithilfe von ETL und Business Intelligence lösen, SQL Server-Datenbanken verwalten und SQL Server-Objekte zwischen Instanzen von SQL Server kopieren.

Die folgenden Szenarien beschreiben typische Verwendungen von SSIS-Paketen.

Zusammenführen von Daten aus heterogenen Datenspeichern

Daten werden in der Regel in vielen verschiedenen Datenspeichersystemen gespeichert. Das Extrahieren von Daten aus diesen Quellen und das Zusammenführen zu einem einzelnen, konsistenten Dataset ist eine Herausforderung. Für diese Situation gibt es verschiedene Ursachen. Beispiel:

  • Viele Organisationen archivieren Informationen, die in Legacy-Datenspeicherungssystemen gespeichert sind. Diese Daten mögen für alltägliche Geschäftsabläufe keine Rolle spielen. Für die Trendanalyse, bei der Daten über einen langen Zeitraum gesammelt werden müssen, können sie allerdings wichtig sein.

  • Die Abteilungen einer Organisation verwenden verschiedene Datenspeicherungstechnologien zum Speichern der Betriebsdaten. Das Paket muss möglicherweise Daten aus Kalkulationstabellen sowie relationalen Datenbanken extrahieren, damit die Daten zusammengeführt werden können.

  • Die Daten sind möglicherweise in Datenbanken gespeichert, die für dieselben Daten verschiedene Schemas verwenden. Das Paket muss möglicherweise den Datentyp einer Spalte ändern oder Daten aus mehreren Spalten zu einer einzelnen Spalte zusammenfassen, damit die Daten zusammengeführt werden können.

Integration Services kann auf ein breites Spektrum von Datenquellen zugreifen, einschließlich mehrerer Quellen in einem einzelnen Paket. Ein Paket kann mithilfe von .NET- und OLE DB-Anbietern auf relationale Datenbank zugreifen und mithilfe von ODBC-Treibern auf viele Legacydatenbanken. Außerdem ist der Zugriff auf Flatfiles, Excel-Dateien und Analysis Services-Projekte möglich.

Integration Services schließt Quellkomponenten ein, die aus Flatfiles, Excel-Kalkulationstabellen, XML-Dokumenten sowie Tabellen und Sichten in relationalen Datenbank Daten aus der Datenquelle extrahieren, auf die das Paket zugreift.

Im nächsten Schritt werden die Daten in der Regel mithilfe der Transformationen von Integration Services transformiert. Nachdem die Daten in kompatible Formate transformiert wurden, können sie physisch zu einem einzelnen Dataset zusammengeführt werden.

Nachdem die Daten erfolgreich zusammengeführt und Transformationen auf die Daten angewendet wurden, werden die Daten in der Regel in mindestens ein Ziel geladen. Integration Services schließt Ziele zum Laden von Daten in Flatfiles, Rohdateien und relationale Datenbanken ein. Die Daten können außerdem in ein Recordset im Arbeitsspeicher geladen und von anderen Paketelementen abgerufen werden.

Auffüllen von Data Warehouses und Data Marts

Die Daten in Data Warehouses und Data Marts werden normalerweise häufig aktualisiert, und die typische Arbeitsauslastung ist sehr hoch.

Integration Services schließt einen Task ein, der Daten per Massenladen direkt aus einer Flatfile in SQL Server-Tabellen und -Sichten lädt. Darüber hinaus ist eine Zielkomponente vorhanden, die als letzten Schritt eines Transformationsprozesses Daten per Massenkopieren in eine SQL Server-Datenbank lädt.

Ein SSIS-Paket kann so konfiguriert werden, dass es erneut gestartet werden kann. Das heißt, das Paket kann von einem vordefinierten Prüfpunkt aus (ein Task oder ein Container im Paket) ausgeführt werden. Die Möglichkeit des Neustarts eines Pakets kann viel Zeit sparen, insbesondere wenn das Paket Daten aus sehr vielen Quellen verarbeitet.

Mithilfe von SSIS-Paketen können Sie die Dimensions- und Faktentabellen in der Datenbank laden. Falls die Quelldaten für eine Dimensionstabelle in mehreren Datenquellen gespeichert sind, kann das Paket die Daten zu einem einzelnen Dataset zusammenführen und die Dimensionstabelle in einem einzelnen Prozess laden, statt für jede Datenquelle einen separaten Prozess zu verwenden.

Das Aktualisieren von Daten in Data Warehouses und Data Marts kann komplex sein. Beide Datenspeichertypen enthalten normalerweise langsam veränderliche Dimensionen, die mit einem Datentransformationsprozess möglicherweise schwierig zu verwalten sind. Der Assistent für langsam veränderliche Dimensionen automatisiert die Unterstützung für langsam veränderliche Dimensionen. Mit diesem Assistenten werden die SQL-Anweisungen dynamisch erstellt, die Datensätze einfügen und aktualisieren, verbundene Datensätze aktualisieren und Tabellen neue Spalten hinzufügen.

Darüber hinaus können Tasks und Transformationen in Integration Services-Paketen Cubes und Dimensionen von Analysis Services verarbeiten. Wenn das Paket Tabellen in der Datenbank aktualisiert, auf der ein Cube basiert, können Sie mit Tasks und Transformationen von Integration Services den Cube automatisch verarbeiten sowie Dimensionen verarbeiten. Durch das automatische Verarbeiten der Cubes und Dimensionen sind die Daten für Benutzer in beiden Umgebungen stets auf dem aktuellen Stand: Für Benutzer, die auf Informationen in den Cubes und Dimensionen zugreifen, und für Benutzer, die auf Daten in einer relationalen Datenbank zugreifen.

Integration Services kann außerdem Funktionen berechnen, bevor die Daten in das Ziel geladen werden. Falls in den Data Warehouses und Data Marts aggregierte Informationen gespeichert sind, kann das SSIS-Paket Funktionen berechnen, wie z. B. SUM, AVG und COUNT. Eine SSIS-Transformation kann relationale Daten pivotieren und in ein weniger normalisiertes Format transformieren, das mit der Tabellenstruktur im Data Warehouse kompatibler ist.

Cleanup und Standardisierung von Daten

Für Daten ist unabhängig davon, ob sie in eine OLTP (Online Transaction Processing)- oder eine OLAP-Datenbank (Online Analytic Processing), eine Excel-Kalkulationstabelle oder eine Datei geladen werden, vorher ein Cleanup und eine Standardisierung erforderlich. Das Update von Daten kann aus folgenden Gründen erforderlich sein:

  • Daten stammen aus mehreren Abteilungen einer Organisation, die jeweils unterschiedliche Konventionen und Standards verwenden. Bevor die Daten verwendet werden können, müssen sie möglicherweise umformatiert werden. Beispielsweise kann es sein, dass der Vor- und Nachname in einer einzelnen Spalte zusammengefasst werden muss.

  • Die Daten sind gemietet oder gekauft. Bevor die Daten verwendet werden können, ist möglicherweise eine Standardisierung und ein Cleanup erforderlich, um Unternehmensstandards zu erfüllen. Dies trifft beispielsweise zu, wenn eine Organisation überprüfen möchte, ob in allen Datensätzen die gleichen Abkürzungen für den Staat oder die gleichen Produktnamen verwendet werden.

  • Daten sind gebietsschemaspezifisch. Beispielsweise können in den Daten verschiedene Formate für Datum/Uhrzeit und Zahlen verwendet werden. Wenn Daten von unterschiedlichen Gebietsschemas zusammengeführt werden, müssen sie vor dem Laden in ein einzelnes Gebietsschema konvertiert werden, um die Beschädigung der Daten zu vermeiden.

Integration Services schließt integrierte Transformationen ein, die Sie Paketen hinzufügen können, um ein Cleanup und eine Standardisierung von Daten vorzunehmen, die Groß-/Kleinschreibung von Daten zu ändern, Daten in einen anderen Datentyp oder ein anderes Format zu konvertieren oder neue Spaltenwerte basierend auf Ausdrücken zu erstellen. Beispielsweise könnte das Paket die Spalten für Vorname und Nachname zu einer einzelnen Spalte mit dem vollständigen Namen verketten und anschließend die Zeichen in Großbuchstaben ändern.

Ein Paket von Integration Services kann außerdem ein Cleanup für Daten ausführen, indem die Werte in Spalten durch Werte aus einer Verweistabelle ersetzt werden, wobei mithilfe einer genauen Suche oder einer Fuzzysuche nach Werten in einer Verweistabelle gesucht wird. Häufig wendet ein Paket zunächst eine genaue Suche an. Falls ein Fehler gemeldet wird, wird dann eine Fuzzysuche ausgeführt. Beispielsweise versucht das Paket zuerst mithilfe des Primärschlüsselwerts des Produkts einen Produktnamen in der Verweistabelle zu suchen. Wenn bei dieser Suche kein Produktname zurückgegeben wird, wird die Suche erneut ausgeführt, dieses Mal jedoch mithilfe der Fuzzyübereinstimmung für den Produktnamen.

Eine andere Transformation führt ein Cleanup für Daten aus, indem ähnliche Werte in einem Dataset gruppiert werden. Hiermit können doppelte Datensätze identifiziert werden, die nicht ohne weitere Auswertung in die Datenbank eingefügt werden sollten. Wenn z. B. Adressen in Kundendatensätzen verglichen werden, werden möglicherweise doppelte Kunden identifiziert.

Integrieren von Business Intelligence in einen Datentransformationsprozess

Für einen Datentransformationsprozess ist integrierte Logik erforderlich, um dynamisch auf die zugegriffenen und verarbeiteten Daten zu reagieren.

Möglicherweise müssen die Daten basierend auf Datenwerten zusammengefasst, konvertiert und verteilt werden. Dabei kann es sogar sein, dass Daten basierend auf einer Bewertung von Spaltenwerten abgelehnt werden müssen.

Zu diesem Zweck muss die Logik im SSIS-Paket möglicherweise die folgenden Aufgaben ausführen:

  • Zusammenführen von Daten aus mehreren Datenquellen.

  • Auswerten von Daten und Anwenden von Datenkonvertierungen.

  • Teilen eines Datasets in mehrere Datasets basierend auf Datenwerten.

  • Anwenden unterschiedlicher Aggregationen auf verschiedene Teilmengen eines Datasets.

  • Laden von Datenteilmengen in verschiedene oder mehrere Ziele.

Integration Services stellt Container, Tasks und Transformationen zum Integrieren von Business Intelligence in SSIS-Pakete bereit.

Container unterstützen die Wiederholung von Workflows durch Aufzählen für Dateien oder Objekte und durch Auswerten von Ausdrücken. Ein Paket kann Daten auswerten und Workflows basierend auf Ergebnissen wiederholen. Wenn z. B. die Daten vom aktuellen Monat stammen, führt das Paket bestimmte Tasks aus; andernfalls werden andere Tasks ausgeführt.

Tasks, die Eingabeparameter verwenden, können ebenfalls Business Intelligence in Pakete integrieren. Beispielsweise können mit dem Wert eines Eingabeparameters die Daten gefiltert werden, die ein Task abruft.

Transformationen können Ausdrücke auswerten und dann basierend auf den Ergebnissen Zeilen in einem Dataset an verschiedene Ziele senden. Nachdem die Daten geteilt wurden, kann das Paket verschiedene Transformationen auf jede Teilmenge des Datasets anwenden. Beispielsweise kann ein Ausdruck eine Datumsspalte auswerten, die Verkaufsdaten für den entsprechenden Zeitraum hinzufügen und anschließend nur die Zusammenfassungsinformationen speichern.

Sie können auch ein Dataset an mehrere Ziele senden und dann verschiedene Gruppen von Transformationen auf dieselben Daten anwenden. Beispielsweise kann eine Transformationsgruppe die Daten zusammenfassen, während eine andere Transformationsgruppe die Daten erweitert, indem Werte in Verweistabellen gesucht und Daten aus anderen Quellen hinzugefügt werden.

Automatisieren administrativer Funktionen und des Vorgangs zum Laden von Daten

Administratoren automatisieren häufig administrative Funktionen. Dazu zählen das Sichern und Wiederherstellen von Datenbanken, das Kopieren von SQL Server-Datenbanken und den darin enthaltenen Objekten, das Kopieren von SQL Server-Objekten sowie das Laden von Daten. Hierzu können Pakete von Integration Services verwendet werden.

Integration Services enthält speziell entworfene Tasks für das Kopieren von SQL Server-Datenbankobjekten, wie z. B. Tabellen, Sichten und gespeicherten Prozeduren; für das Kopieren von SQL Server-Objekten, wie z. B. Datenbanken, Anmeldenamen und Statistiken; und für das Hinzufügen, Ändern und Löschen von SQL Server-Objekten und -Daten mithilfe von Transact-SQL-Anweisungen.

Die Administration einer OLTP- oder OLAP-Datenbankumgebung schließt oft das Massenladen von Daten ein. Integration Services enthält mehrere Tasks, die das Massenkopieren von Daten vereinfachen. Mit einem Task können Sie Daten aus Textdateien direkt in SQL Server-Tabellen und -Sichten laden. Mit einer Zielkomponente können Sie Daten in SQL Server-Tabellen und -Sichten laden, nachdem Sie Transformationen auf die Spaltendaten angewendet haben.

Mit einem Integration Services-Paket können andere Pakete ausgeführt werden. Eine Datentransformationslösung, die viele administrative Funktionen einschließt, kann in mehrere Pakete aufgeteilt werden, um das Verwalten und Wiederverwenden der Pakete zu vereinfachen.

Falls Sie dieselben administrativen Funktionen auf verschiedenen Servern ausführen müssen, können Sie Pakete verwenden. Ein Paket kann mithilfe von Schleifen eine Enumeration für die Server ausführen und dieselben Funktionen auf mehreren Computern ausführen. Zur Unterstützung der Administration von SQL Server wird in Integration Services ein Enumerator bereitgestellt, der eine Iteration für SMO-Objekte (SQL Server Management Objects) ausführt. Beispielsweise kann ein Paket mithilfe des SMO-Enumerators dieselben administrativen Funktionen für jeden Auftrag in der Jobs-Auflistung einer Installation von SQL Server ausführen.

SSIS-Pakete können außerdem mithilfe von Aufträgen des SQL Server-Agents geplant werden.

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.