sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2017:Kopiera SQL Server-data från Linux till Windows med SSIS

SQL Server 2017 Integration Services kan nu köras på Linux, vilket innebär att du kan migrera ett paket utvecklat på Windows och använda ODBC som anslutning.

För att testa detta skapade vi ett enkelt paket på Windows som kopierade data mellan en lokal och fjärransluten SQL Server-instans och sedan körde paketet på en Linux-maskin.

Processen var enkel, det enda att tänka på är att du måste skapa ODBC-datakällor med samma namn på Windows- och Linux-datorerna. Stegen för att skapa vårt enkla testpaket är följande:

  1. I SQL Server Management Studio, anslut till SQL Server-instansen som du vill kopiera data från.
  2. Skapa en enkel testtabell:
    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. Anslut till instansen som du vill kopiera data till. Skapa testtabellen men fyll inte i den.
  4. Skapa två ODBC-datakällor på maskinen där Visual Studio är installerat, en för varje SQL Server-instans. Använd 32-bitarsversionen av ODBC Data Source Administrator för att göra detta.
  5. Skapa ett nytt Integration Services-projekt i Visual Studio.
  6. Dra en dataflödesuppgift från verktygslådan till fliken Kontrollflöde.
  7. Välj fliken Dataflöde.
  8. Dra en ODBC-källa från verktygslådan till fliken Dataflöde och tryck sedan på Retur.

    ODBC-destination finns i listan Andra källor.

  9. Välj ODBC-källan och tryck sedan på Retur.
  10. Välj Ny i dialogrutan ODBC-källa.
  11. Välj Ny i dialogrutan Konfigurera ODBC-anslutningshanterare.
  12. I dialogrutan Anslutningshanteraren väljer du ODBC-datakällan som ansluter till SQL Server-källan och använd sedan knappen OK för att återgå till dialogrutan ODBC-källa.
  13. Välj kolumner.
  14. Dra en ODBC-destination från verktygslådan till fliken Dataflöde och tryck sedan på Retur.

    ODBC-destination finns i listan Andra destinationer.

  15. Välj ODBC-källan. Dra den blå pilen över till ODBC-destinationen.
  16. Välj ODBC-destinationen och tryck sedan på Retur.
  17. Välj Ny i dialogrutan ODBC-destination.
  18. Välj Ny i dialogrutan Konfigurera ODBC-anslutningshanterare.
  19. I dialogrutan Anslutningshanteraren väljer du ODBC-datakällan som ansluter till SQL Server-målinstansen och använd sedan OK-knappen för att återgå till dialogrutan ODBC-källa.
  20. Välj Personer i tabellens namn eller vylistan.
  21. Välj Mappningar.
  22. Ta bort mappningen mellan PersonID-kolumnerna. PersonID:t fylls i automatiskt.
  23. Installera, licensiera och testa 64-bitars Linux-versionen av SQL Server ODBC-drivrutinen på maskinen där Linux-porten för SQL Server och SSIS är installerad.
  24. Skapa två SQL Server ODBC-datakällor på Linux-datorn, med samma namn som datakällorna du skapade i Windows.

    På Linux skapar du ODBC-datakällor genom att redigera en textfil, normalt lagrad i /etc/odbc.ini. Du kan anpassa exempeldatakällan, SQLSERVER_SAMPLE , om du vill, men kom ihåg att byta namn på dem.

  25. Kopiera SSIS-paketet från Windows-maskinen till Linux-maskinen.
  26. För att köra paketet:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"
    

  1. Hur man returnerar månads- och dagnamnen på ett annat språk i MariaDB

  2. Aggregerad strängsammansättning i Oracle 10g

  3. Konvertera 'tid' till 'datetimeoffset' i SQL Server (T-SQL-exempel)

  4. SQL Server-index - stigande eller fallande, vilken skillnad gör det?