sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2017:copia de datos de SQL Server de Linux a Windows con SSIS

SQL Server 2017 Integration Services ahora puede ejecutarse en Linux, lo que significa que puede migrar un paquete desarrollado en Windows y usar ODBC como conector.

Para probar esto, creamos un paquete simple en Windows que copió datos entre una instancia de SQL Server local y remota y luego ejecutó el paquete en una máquina Linux.

El proceso fue simple, lo único que debe tener en cuenta es que necesita crear fuentes de datos ODBC con los mismos nombres en las máquinas Windows y Linux. Los pasos para crear nuestro paquete de prueba simple son los siguientes:

  1. En SQL Server Management Studio, conéctese a la instancia de SQL Server desde la que desea copiar los datos.
  2. Cree una tabla de prueba simple:
    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. Conéctese a la instancia a la que desea copiar los datos. Cree la tabla de prueba pero no la complete.
  4. En la máquina donde está instalado Visual Studio, cree dos fuentes de datos ODBC, una para cada instancia de SQL Server. Utilice la versión de 32 bits de ODBC Data Source Administrator para hacer esto.
  5. En Visual Studio, cree un nuevo Proyecto de servicios de integración.
  6. Arrastre una tarea de flujo de datos desde la Caja de herramientas a la pestaña Flujo de control.
  7. Elija la pestaña Flujo de datos.
  8. Arrastre una fuente ODBC desde la Caja de herramientas a la pestaña Flujo de datos y luego presione Retorno.

    El destino ODBC está en la lista Otras fuentes.

  9. Seleccione la fuente ODBC y luego presione Retorno.
  10. En el cuadro de diálogo Fuente ODBC, seleccione Nuevo.
  11. En el cuadro de diálogo Configurar administrador de conexiones ODBC, elija Nuevo.
  12. En el cuadro de diálogo Administrador de conexión, elija la fuente de datos ODBC que se conecta a la instancia de origen de SQL Server y luego use el botón Aceptar para volver al cuadro de diálogo Fuente ODBC.
  13. Elija columnas.
  14. Arrastre un Destino ODBC desde la Caja de herramientas a la pestaña Flujo de datos y luego presione Retorno.

    El destino ODBC está en la lista Otros destinos.

  15. Seleccione la fuente ODBC. Arrastre la flecha azul hasta el Destino ODBC.
  16. Seleccione el Destino ODBC y luego presione Retorno.
  17. En el cuadro de diálogo Destino ODBC, seleccione Nuevo.
  18. En el cuadro de diálogo Configurar administrador de conexiones ODBC, elija Nuevo.
  19. En el cuadro de diálogo Administrador de conexión, elija la fuente de datos ODBC que se conecta a la instancia de SQL Server de destino y luego use el botón Aceptar para volver al cuadro de diálogo Fuente ODBC.
  20. En el Nombre de la tabla o la lista de vista, elija Personas.
  21. Elija Asignaciones.
  22. Elimine la asignación entre las columnas PersonID. El PersonID se completa automáticamente.
  23. Instale, obtenga la licencia y pruebe la versión Linux de 64 bits del controlador ODBC de SQL Server en la máquina donde está instalado el puerto Linux de SQL Server y SSIS.
  24. En la máquina Linux, cree dos fuentes de datos ODBC de SQL Server, con los mismos nombres que las fuentes de datos que creó en Windows.

    En Linux, crea fuentes de datos ODBC editando un archivo de texto, normalmente almacenado en /etc/odbc.ini. Puede adaptar la fuente de datos de muestra, SQLSERVER_SAMPLE , si lo desea, pero recuerde cambiarles el nombre.

  25. Copie el paquete SSIS de la máquina Windows a la máquina Linux.
  26. Para ejecutar el paquete:
    export PATH=/opt/ssis/bin:$PATH
    dtexec /F "MyPackage.dtsx"