Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2017:Kopieren von SQL Server-Daten von Linux nach Windows mit SSIS

SQL Server 2017 Integration Services kann jetzt unter Linux ausgeführt werden, was bedeutet, dass Sie ein unter Windows entwickeltes Paket migrieren und ODBC als Connector verwenden können.

Um dies zu testen, haben wir ein einfaches Paket unter Windows erstellt, das Daten zwischen einer lokalen und einer entfernten SQL Server-Instanz kopiert und das Paket dann auf einem Linux-Computer ausgeführt hat.

Der Prozess war einfach, das einzige, was zu beachten ist, ist, dass Sie ODBC-Datenquellen mit denselben Namen auf den Windows- und Linux-Computern erstellen müssen. Die Schritte zum Erstellen unseres einfachen Testpakets lauten wie folgt:

  1. Stellen Sie in SQL Server Management Studio eine Verbindung zu der SQL Server-Instanz her, von der Sie Daten kopieren möchten.
  2. Erstellen Sie eine einfache Testtabelle:
    CREATE DATABASE ssis
    USE ssis
    CREATE TABLE Persons (
        PersonID int identity,
        LastName varchar(255),
        FirstName varchar(255),
        Address varchar(255),
        City varchar(255)
    );
    INSERT INTO Persons VALUES ('Erichsen', 'Tom', 'Skagen 21', 'Stavanger')
    
  3. Verbinden Sie sich mit der Instanz, in die Sie Daten kopieren möchten. Erstellen Sie die Testtabelle, aber füllen Sie sie nicht.
  4. Erstellen Sie auf dem Computer, auf dem Visual Studio installiert ist, zwei ODBC-Datenquellen, eine für jede SQL Server-Instanz. Verwenden Sie dazu die 32-Bit-Version von ODBC Data Source Administrator.
  5. Erstellen Sie in Visual Studio ein neues Integration Services-Projekt.
  6. Ziehen Sie eine Datenflussaufgabe aus der Toolbox auf die Registerkarte Ablaufsteuerung.
  7. Wählen Sie die Registerkarte Datenfluss.
  8. Ziehen Sie eine ODBC-Quelle aus der Toolbox auf die Registerkarte Datenfluss und drücken Sie dann die Eingabetaste.

    Das ODBC-Ziel befindet sich in der Liste „Andere Quellen“.

  9. Wählen Sie die ODBC-Quelle aus und drücken Sie dann die Eingabetaste.
  10. Wählen Sie im Dialogfeld „ODBC-Quelle“ die Option „Neu“.
  11. Wählen Sie im Dialogfeld „ODBC-Verbindungsmanager konfigurieren“ die Option „Neu“.
  12. Wählen Sie im Dialogfeld "Verbindungsmanager" die ODBC-Datenquelle aus, die eine Verbindung zur SQL Server-Quellinstanz herstellt, und verwenden Sie dann die Schaltfläche "OK", um zum Dialogfeld "ODBC-Quelle" zurückzukehren.
  13. Spalten auswählen.
  14. Ziehen Sie ein ODBC-Ziel aus der Toolbox auf die Registerkarte Datenfluss und drücken Sie dann die Eingabetaste.

    Das ODBC-Ziel befindet sich in der Liste „Andere Ziele“.

  15. Wählen Sie die ODBC-Quelle aus. Ziehen Sie den blauen Pfeil auf das ODBC-Ziel.
  16. Wählen Sie das ODBC-Ziel aus und drücken Sie dann die Eingabetaste.
  17. Wählen Sie im Dialogfeld „ODBC-Ziel“ die Option „Neu“.
  18. Wählen Sie im Dialogfeld „ODBC-Verbindungsmanager konfigurieren“ die Option „Neu“.
  19. Wählen Sie im Dialogfeld "Verbindungsmanager" die ODBC-Datenquelle aus, die eine Verbindung zur SQL Server-Zielinstanz herstellt, und verwenden Sie dann die Schaltfläche "OK", um zum Dialogfeld "ODBC-Quelle" zurückzukehren.
  20. Wählen Sie im Namen der Tabelle oder der Ansichtsliste Personen.
  21. Wählen Sie Zuordnungen.
  22. Löschen Sie die Zuordnung zwischen den PersonID-Spalten. Die PersonID wird automatisch ausgefüllt.
  23. Installieren, lizenzieren und testen Sie die 64-Bit-Linux-Version des SQL Server-ODBC-Treibers auf dem Computer, auf dem der Linux-Port von SQL Server und SSIS installiert ist.
  24. Erstellen Sie auf dem Linux-Computer zwei SQL Server-ODBC-Datenquellen mit denselben Namen wie die Datenquellen, die Sie unter Windows erstellt haben.

    Unter Linux erstellen Sie ODBC-Datenquellen, indem Sie eine Textdatei bearbeiten, die normalerweise in /etc/odbc.ini gespeichert ist. Sie können die Beispieldatenquelle SQLSERVER_SAMPLE anpassen , wenn Sie möchten, aber denken Sie daran, sie umzubenennen.

  25. Kopieren Sie das SSIS-Paket von der Windows-Maschine auf die Linux-Maschine.
  26. Um das Paket auszuführen:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"