sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2017:Kopiering af SQL Server-data fra Linux til Windows med SSIS

SQL Server 2017 Integration Services kan nu køre på Linux, hvilket betyder, at du kan migrere en pakke udviklet på Windows og bruge ODBC som connector.

For at teste dette, skabte vi en simpel pakke på Windows, der kopierede data mellem en lokal og ekstern SQL Server-instans og derefter kørte pakken på en Linux-maskine.

Processen var enkel, den eneste ting at huske på er, at du skal oprette ODBC-datakilder med de samme navne på Windows- og Linux-maskinerne. Trinene til at oprette vores simple testpakke er som følger:

  1. I SQL Server Management Studio skal du oprette forbindelse til den SQL Server-instans, hvorfra du vil kopiere data.
  2. Opret en simpel testtabel:
    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. Opret forbindelse til den instans, som du vil kopiere data til. Opret testtabellen, men udfyld den ikke.
  4. Opret to ODBC-datakilder på den maskine, hvor Visual Studio er installeret, en for hver SQL Server-instans. Brug 32-bit versionen af ​​ODBC Data Source Administrator til at gøre dette.
  5. Opret et nyt integrationsserviceprojekt i Visual Studio.
  6. Træk en dataflowopgave fra værktøjskassen til fanen Kontrolflow.
  7. Vælg fanen Dataflow.
  8. Træk en ODBC-kilde fra værktøjskassen til fanen Dataflow, og tryk derefter på Retur.

    ODBC-destination er på listen Andre kilder.

  9. Vælg ODBC-kilden, og tryk derefter på Retur.
  10. Vælg Ny i dialogboksen ODBC-kilde.
  11. Vælg Ny i dialogboksen Konfigurer ODBC Connection Manager.
  12. I dialogboksen Forbindelseshåndtering skal du vælge den ODBC-datakilde, der forbinder til SQL Server-kildeforekomsten, og derefter bruge knappen OK for at vende tilbage til dialogboksen ODBC-kilde.
  13. Vælg kolonner.
  14. Træk en ODBC-destination fra værktøjskassen til fanen Dataflow, og tryk derefter på Retur.

    ODBC-destination er på listen Andre destinationer.

  15. Vælg ODBC-kilden. Træk den blå pil over til ODBC-destinationen.
  16. Vælg ODBC-destinationen, og tryk derefter på Retur.
  17. Vælg Ny i dialogboksen ODBC-destination.
  18. Vælg Ny i dialogboksen Konfigurer ODBC Connection Manager.
  19. I dialogboksen Forbindelseshåndtering skal du vælge den ODBC-datakilde, der forbinder til destinations-SQL-serverforekomsten, og derefter bruge knappen OK for at vende tilbage til dialogboksen ODBC-kilde.
  20. Vælg Personer i navnet på tabellen eller visningslisten.
  21. Vælg Mappings.
  22. Slet tilknytningen mellem PersonID-kolonnerne. Person-ID'et udfyldes automatisk.
  23. Installer, licenser og test 64-bit Linux-versionen af ​​SQL Server ODBC-driveren på den maskine, hvor Linux-porten til SQL Server og SSIS er installeret.
  24. Opret to SQL Server ODBC-datakilder på Linux-maskinen med de samme navne som de datakilder, du oprettede på Windows.

    På Linux opretter du ODBC-datakilder ved at redigere en tekstfil, der normalt er gemt i /etc/odbc.ini. Du kan tilpasse eksempeldatakilden, SQLSERVER_SAMPLE , hvis du vil, men husk at omdøbe dem.

  25. Kopiér SSIS-pakken fra Windows-maskinen til Linux-maskinen.
  26. For at udføre pakken:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"
    

  1. Har Oracle en ækvivalent til SQL Servers tabelvariabler?

  2. Forkert sortering/sortering/rækkefølge med mellemrum i Postgresql 9.4

  3. Udviklerværktøjer til direkte adgang til databaser

  4. SELECTING med flere WHERE-betingelser i samme kolonne