Extrahieren, Transformieren und Laden von Daten unter Linux mit SSIS

Gilt für:SQL Server – Linux

In diesem Artikel wird beschrieben, wie SSIS-Pakte (SQL Server Integration Services) unter Linux ausgeführt werden. Mit SSIS können komplexe Probleme bei der Datenintegration behoben werden, indem Daten aus mehreren Quellen und Formaten extrahiert, anschließend transformiert und bereinigt und schließlich in mehrere Ziele geladen werden.

Unter Linux ausgeführte SSIS-Pakete können eine Verbindung mit Microsoft SQL Server herstellen, das lokal oder in der Cloud unter Windows, unter Linux oder in Docker ausgeführt wird. Sie können auch eine Verbindung mit Azure SQL-Datenbank, Azure Synapse Analytics, ODBC-Datenquellen, Flatfiles und anderen Datenquellen wie ADO.NET-Quellen, XML-Dateien und OData-Services herstellen.

Weitere Informationen zu den Funktionen von SSIS finden Sie unter SQL Server Integration Services.

Voraussetzungen

Wenn Sie SSIS-Pakete auf einem Linux-Computer ausführen möchten, installieren Sie zunächst SQL Server Integration Services. SSIS ist in der Installation von SQL Server für Linux-Computer nicht enthalten. Die Installationsanweisungen finden Sie unter Installieren von SQL Server Integration Services (SSIS) unter Linux.

Ferner benötigen Sie einen Windows-Computer zum Erstellen und Verwalten von Paketen. Bei den Entwurfs- und Verwaltungstools von SSIS handelt es sich um Windows-Anwendungen, die derzeit für Linux-Computer noch nicht verfügbar sind.

Ausführen eines SSIS-Pakets

Führen Sie zum Ausführen eines SSIS-Pakets folgende Schritte aus:

  1. Kopieren Sie das SSIS-Paket auf den Linux-Computer.

  2. Führen Sie den folgenden Befehl aus:

    dtexec /F \<package name \> /DE <protection password>
    

Ausführen eines verschlüsselten (kennwortgeschützten) Pakets

Es gibt drei Möglichkeiten, ein mit einem Kennwort verschlüsseltes SSIS-Pakte auszuführen:

  1. Legen Sie den Wert der Umgebungsvariablen SSIS_PACKAGE_DECRYPT wie im folgenden Beispiel darstellt fest:

    SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
    
  2. Geben Sie die Option /de[crypt] wie im folgenden Beispiel dargestellt an, damit das Kennwort interaktiv eingegeben werden kann:

    /opt/ssis/bin/dtexec /f package.dtsx /de
    
    Enter decryption password:
    
  3. Geben Sie die Option /de wie im folgenden Beispiel dargestellt an, um das Kennwort in der Befehlszeile einzugeben. Diese Methode wird nicht empfohlen, da damit das Entschlüsselungskennwort mit dem Befehl im Befehlsverlauf gespeichert wird.

    opt/ssis/bin/dtexec /f package.dtsx /de test
    
    Warning: Using /De[crypt] <password> may store decryption password in command history.
    
    You can use /De[crypt] instead to enter interactive mode,
    or use environment variable SSIS_PACKAGE_DECRYPT to set decryption password.
    

Entwerfen von Paketen

Stellen Sie eine Verbindung mit ODBC-Datenquellen her. Mit SSIS unter Linux CTP 2.1 Refresh und höher können SSIS-Pakete ODBC-Verbindungen unter Linux verwenden. Diese Funktion wurde mit den Treibern von SQL Server und MySQL ODBC getestet, sollte jedoch auch mit einem Unicode-Treiber verwendet werden können, der der ODBC-Spezifikation entspricht. Zur Entwurfszeit können Sie entweder einen DSN oder eine Verbindungszeichenfolge angeben, um eine Verbindung mit den ODBC-Daten herzustellen. Sie können aber auch die Windows-Authentifizierung verwenden. Weitere Informationen hierzu finden Sie im Blogbeitrag mit der Ankündigung zur ODBC-Unterstützung unter Linux.

Pfade. Geben Sie in Ihren SSIS-Paketen Windows-Pfade an. SSIS unter Linux unterstützt keine Linux-Pfade, ordnet jedoch Windows-Pfade zur Laufzeit Linux-Pfaden zu. So ordnet SSIS unter Linux beispielsweise den Windows-Pfad C:\test dem Linux-Pfad /test zu.

Bereitstellen von Paketen

Pakete können in diesem Release nur im Dateisystem unter Linux gespeichert werden. Die SSIS-Katalogdatenbank und der Legacy-SSIS-Service sind unter Linux nicht für die Paketbereitstellung und -speicherung verfügbar.

Planen von Paketen

Zum Planen von Paketen können Sie Planungstools des Linux-Systems wie cron verwenden. SQL-Agent unter Linux können Sie in diesem Release dagegen nicht zum Planen der Paketausführung verwenden. Weitere Informationen finden Sie unter Zeitliches Planen der Ausführung von SSIS-Paketen unter Linux mit Cron.

Einschränkungen und bekannte Probleme

Ausführliche Informationen zu den Einschränkungen und bekannten Problemen bei SSIS unter Linux finden Sie unter Limitations and known issues for SSIS on Linux (Einschränkungen und bekannte Probleme bei SSIS unter Linux).

Weitere Informationen zu SSIS unter Linux

Weitere Informationen zu SSIS unter Linux finden Sie in den folgenden Blogbeiträgen:

Weitere Informationen zu SSIS

Microsoft SQL Server Integration Services (SSIS) ist eine Plattform zum Erstellen von leistungsstarken Datenintegrationslösungen, z. B. ETL-Paketen (Extrahieren, Transformieren und Laden) für das Data Warehousing. Weitere Informationen zu SSIS finden Sie unter SQL Server Integration Services.

SSIS umfasst die folgenden Funktionen:

  • Grafische Tools und Assistenten zum Entwickeln und Debuggen von Paketen unter Windows
  • Eine Reihe von Aufgaben zum Ausführen von Workflow Funktionen wie FTP-Vorgänge, zum Ausführen von SQL-Anweisungen sowie zum Senden von E-Mail-Nachrichten
  • Eine Reihe von Datenquellen und Zielen zum Extrahieren und Laden von Daten
  • Eine Reihe von Transformationen zum Bereinigen, Aggregieren, Zusammenführen und Kopieren von Daten
  • APIs (Application Programming Interfaces, Anwendungsprogrammierschnittstellen) zur Erweiterung von SSIS mit eigenen benutzerdefinierten Skripts und Komponenten

Um mit SSIS zu beginnen, laden Sie die neueste Version von SSIS Erstellen eines ETL-Pakets herunter.

Weitere Informationen zu SSIS erhalten Sie in den folgenden Artikeln: