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:
Kopieren Sie das SSIS-Paket auf den Linux-Computer.
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:
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
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:
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:
- SSIS unter Linux ist in SQL Server 2017 CTP 2.1 verfügbar
- ODBC wird in SSIS unter Linux unterstützt (SQL Server CTP 2017 2.1-Aktualisierung)
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:
- SQL Server Integration Services
- SQL Server Integration Services (SSIS) – Entwicklungs- und Verwaltungstools
- Integration Services-Lernprogramme