Extracción, transformación y carga de datos en Linux con SSISExtract, transform, and load data on Linux with SSIS

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) : LinuxSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) - Linux

En este artículo se describe cómo ejecutar paquetes de SQL Server Integration Services (SSIS) en Linux.This article describes how to run SQL Server Integration Services (SSIS) packages on Linux. SSIS resuelve problemas de integración de datos complejos mediante la extracción de datos de varios orígenes y formatos, así como la transformación y limpieza de los datos y la carga de datos en varios destinos.SSIS solves complex data integration problems by extracting data from multiple sources and formats, transforming and cleansing the data, and loading the data into multiple destinations.

Los paquetes SSIS que se ejecutan en Linux pueden conectarse a Microsoft SQL Server en ejecución en Windows en el entorno local o en la nube, en Linux o en Docker.SSIS packages running on Linux can connect to Microsoft SQL Server running on Windows on-premises or in the cloud, on Linux, or in Docker. También pueden conectarse a Azure SQL Database, Azure Synapse Analytics, orígenes de datos ODBC, archivos planos y otros orígenes de datos, incluidos orígenes ADO.NET, archivos XML y servicios OData.They can also connect to Azure SQL Database, Azure Synapse Analytics, ODBC data sources, flat files, and other data sources including ADO.NET sources, XML files, and OData services.

Para obtener más información sobre las capacidades de SSIS, vea SQL Server Integration Services.For more info about the capabilities of SSIS, see SQL Server Integration Services.

Requisitos previosPrerequisites

Para ejecutar paquetes SSIS en un equipo Linux, primero tiene que instalar SQL Server Integration Services.To run SSIS packages on a Linux computer, first you have to install SQL Server Integration Services. SSIS no se incluye en la instalación de SQL Server para equipos Linux.SSIS is not included in the installation of SQL Server for Linux computers. Para obtener instrucciones de instalación, consulte Instalación de SQL Server Integration Services.For installation instructions, see Install SQL Server Integration Services.

También debe tener un equipo Windows para crear y mantener paquetes.You also have to have a Windows computer to create and maintain packages. Las herramientas de administración y diseño de SSIS son aplicaciones de Windows que no están disponibles actualmente para equipos Linux.The SSIS design and management tools are Windows applications that are not currently available for Linux computers.

Ejecutar un paquete SSISRun an SSIS package

Para ejecutar un paquete SSIS en un equipo Linux, haga lo siguiente:To run an SSIS package on a Linux computer, do the following things:

  1. Copie el paquete SSIS en el equipo Linux.Copy the SSIS package to the Linux computer.
  2. Ejecute el comando siguiente:Run the following command:
    $ dtexec /F \<package name \> /DE <protection password>
    

Ejecute un paquete cifrado (protegido por contraseña)Run an encrypted (password-protected) package

Hay tres formas de ejecutar un paquete SSIS cifrado con una contraseña:There are three ways to run an SSIS package that's encrypted with a password:

  1. Establezca el valor de la variable de entorno SSIS_PACKAGE_DECRYPT, como se muestra en el siguiente ejemplo:Set the value of the environment variable SSIS_PACKAGE_DECRYPT, as shown in the following example:

    SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
    
  2. Especifique la opción /de[crypt] para escribir la contraseña de forma interactiva, tal como se muestra en el siguiente ejemplo:Specify the /de[crypt] option to enter the password interactively, as shown in the following example:

    /opt/ssis/bin/dtexec /f package.dtsx /de
    
    Enter decryption password:
    
  3. Especifique la opción /de para proporcionar la contraseña en la línea de comandos, tal y como se muestra en el siguiente ejemplo.Specify the /de option to provide the password on the command line, as shown in the following example. No se recomienda este método porque almacena la contraseña de descifrado con el comando en el historial de comandos.This method is not recommended because it stores the decryption password with the command in the command history.

    opt/ssis/bin/dtexec /f package.dtsx /de test
    
    Warning: Using /De[crypt] <password> may store decryption password in command history.
    
    You can use /De[crypt] instead to enter interactive mode,
    or use environment variable SSIS_PACKAGE_DECRYPT to set decryption password.
    

Diseñar paquetesDesign packages

Conectarse a orígenes de datos ODBC.Connect to ODBC data sources. Con SSIS en la actualización de CTP 2.1 de Linux y versiones posteriores, los paquetes SSIS pueden usar conexiones ODBC en Linux.With SSIS on Linux CTP 2.1 Refresh and later, SSIS packages can use ODBC connections on Linux. Esta funcionalidad se ha probado con SQL Server y los controladores ODBC de MySQL, pero también se espera que funcione con cualquier controlador ODBC de Unicode que respete la especificación de ODBC.This functionality has been tested with the SQL Server and the MySQL ODBC drivers, but is also expected to work with any Unicode ODBC driver that observes the ODBC specification. En tiempo de diseño, puede proporcionar un DSN o una cadena de conexión para conectarse a los datos ODBC; también puede usar la autenticación de Windows.At design time, you can provide either a DSN or a connection string to connect to the ODBC data; you can also use Windows authentication. Para obtener más información, vea la entrada de blog que anuncia la compatibilidad con ODBC en Linux.For more info, see the blog post announcing ODBC support on Linux.

Rutas.Paths. Proporcione rutas de estilo Windows en los paquetes SSIS.Provide Windows-style paths in your SSIS packages. SSIS en Linux no admite rutas de estilo Linux, sino que asigna rutas de estilo Windows a rutas de estilo Linux en tiempo de ejecución.SSIS on Linux does not support Linux-style paths, but maps Windows-style paths to Linux-style paths at run time. Después, por ejemplo, SSIS en Linux asigna la ruta de estilo Windows C:\test a la ruta de estilo Linux /test.Then, for example, SSIS on Linux maps the Windows-style path C:\test to the Linux-style path /test.

Implementar paquetesDeploy packages

En esta versión, solo puede almacenar paquetes en el sistema de archivos de Linux.You can only store packages in the file system on Linux in this release. La base de datos del catálogo de SSIS y el servicio SSIS heredado no están disponibles en Linux para la implementación y el almacenamiento de paquetes.The SSIS Catalog database and the legacy SSIS service are not available on Linux for package deployment and storage.

Programar paquetesSchedule packages

Puede usar herramientas de programación del sistema Linux como cron para programar paquetes.You can use Linux system scheduling tools such as cron to schedule packages. No se puede usar el Agente SQL en Linux para programar la ejecución de paquetes en esta versión.You can't use SQL Agent on Linux to schedule package execution in this release. Para obtener más información, vea Programar paquetes SSIS en Linux con cron.For more info, see Schedule SSIS packages on Linux with cron.

Limitaciones y problemas conocidosLimitations and known issues

Para obtener información detallada sobre las limitaciones y los problemas conocidos de SSIS en Linux, consulte Limitaciones y problemas conocidos de SSIS en Linux.For detailed info about the limitations and known issues of SSIS on Linux, see Limitations and known issues for SSIS on Linux.

Más información sobre SSIS en LinuxMore info about SSIS on Linux

Para obtener más información sobre SSIS en Linux, consulte las siguientes entradas de blog:For more info about SSIS on Linux, see the following blog posts:

Más información sobre SSISMore info about SSIS

Microsoft SQL Server Integration Services (SSIS) es una plataforma que permite generar soluciones de integración de datos de alto rendimiento, entre las que se incluyen paquetes de extracción, transformación y carga de datos (ETL) para el almacenamiento de datos.Microsoft SQL Server Integration Services (SSIS) is a platform for building high-performance data integration solutions, including extraction, transformation, and loading (ETL) packages for data warehousing. Para obtener más información sobre SSIS, vea SQL Server Integration Services.For more info about SSIS, see SQL Server Integration Services.

SSIS incluye las características siguientes:SSIS includes the following features:

  • Herramientas y asistentes gráficos para compilar y depurar paquetes en WindowsGraphical tools and wizards for building and debugging packages on Windows
  • Una amplia gama de tareas para realizar funciones de flujo de trabajo, como operaciones FTP, ejecutar instrucciones SQL y enviar mensajes de correo electrónicoA variety of tasks for performing workflow functions such as FTP operations, executing SQL statements, and sending e-mail messages
  • Diversos orígenes de datos y destinos para extraer y cargar datosA variety of data sources and destinations for extracting and loading data
  • Diversas transformaciones para limpiar, agregar, combinar y copiar datosA variety of transformations for cleaning, aggregating, merging, and copying data
  • Interfaces de programación de aplicaciones (API) para extender SSIS con sus propios scripts y componentes personalizadosApplication programming interfaces (APIs) for extending SSIS with your own custom scripts and components

Para comenzar con SSIS, descargue la versión más reciente de SQL Server Data Tools (SSDT).To get started with SSIS, download the latest version of SQL Server Data Tools (SSDT).

Para más información sobre SSIS, vea los siguientes artículos:To learn more about SSIS, see the following articles: