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

SQL Server 2017:copia dei dati di SQL Server da Linux a Windows con SSIS

SQL Server 2017 Integration Services ora può essere eseguito su Linux, il che significa che puoi migrare un pacchetto sviluppato su Windows e utilizzare ODBC come connettore.

Per testarlo, abbiamo creato un semplice pacchetto su Windows che copiava i dati tra un'istanza di SQL Server locale e remota e quindi eseguiva il pacchetto su una macchina Linux.

Il processo è stato semplice, l'unica cosa da tenere a mente è che è necessario creare origini dati ODBC con gli stessi nomi su macchine Windows e Linux. I passaggi per creare il nostro semplice pacchetto di test sono i seguenti:

  1. In SQL Server Management Studio, connettiti all'istanza di SQL Server da cui desideri copiare i dati.
  2. Crea una semplice tabella di test:
    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. Connettiti all'istanza in cui desideri copiare i dati. Crea la tabella di test ma non compilarla.
  4. Nel computer in cui è installato Visual Studio creare due origini dati ODBC, una per ogni istanza di SQL Server. Utilizzare la versione a 32 bit di ODBC Data Source Administrator per eseguire questa operazione.
  5. In Visual Studio, crea un nuovo progetto Integration Services.
  6. Trascina un'attività del flusso di dati dalla casella degli strumenti alla scheda Flusso di controllo.
  7. Scegli la scheda Flusso di dati.
  8. Trascina un'origine ODBC dalla casella degli strumenti alla scheda Flusso di dati, quindi premi Invio.

    La destinazione ODBC è nell'elenco Altre origini.

  9. Seleziona la sorgente ODBC, quindi premi Invio.
  10. Nella finestra di dialogo Sorgente ODBC, scegli Nuovo.
  11. Nella finestra di dialogo Configura gestione connessione ODBC, scegli Nuovo.
  12. Nella finestra di dialogo Gestione connessione, scegli l'origine dati ODBC che si connette all'istanza di SQL Server di origine, quindi utilizza il pulsante OK per tornare alla finestra di dialogo Origine ODBC.
  13. Scegli Colonne.
  14. Trascina una destinazione ODBC dalla Casella degli strumenti alla scheda Flusso di dati, quindi premi Invio.

    La destinazione ODBC è nell'elenco Altre destinazioni.

  15. Seleziona la sorgente ODBC. Trascina la freccia blu sulla destinazione ODBC.
  16. Seleziona la destinazione ODBC, quindi premi Invio.
  17. Nella finestra di dialogo Destinazione ODBC, scegli Nuovo.
  18. Nella finestra di dialogo Configura gestione connessione ODBC, scegli Nuovo.
  19. Nella finestra di dialogo Gestione connessione, scegli l'origine dati ODBC che si connette all'istanza di destinazione di SQL Server, quindi usa il pulsante OK per tornare alla finestra di dialogo Origine ODBC.
  20. Nel Nome della tabella o dell'elenco di visualizzazione, scegli Persone.
  21. Scegli Mappature.
  22. Elimina la mappatura tra le colonne PersonID. Il PersonID viene compilato automaticamente.
  23. Installa, concede in licenza e testa la versione Linux a 64 bit del driver ODBC di SQL Server sul computer in cui è installata la porta Linux di SQL Server e SSIS.
  24. Nella macchina Linux, crea due origini dati ODBC di SQL Server, con gli stessi nomi delle origini dati che hai creato su Windows.

    Su Linux, crei origini dati ODBC modificando un file di testo, normalmente archiviato in /etc/odbc.ini. È possibile adattare l'origine dati di esempio, SQLSERVER_SAMPLE , se ti va, ma ricordati di rinominarli.

  25. Copia il pacchetto SSIS dalla macchina Windows alla macchina Linux.
  26. Per eseguire il pacchetto:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"