

# Compatibilidad de SQL Server Integration Services en Amazon RDS for SQL Server
<a name="Appendix.SQLServer.Options.SSIS"></a>

Microsoft SQL Server Integration Services (SSIS) es un componente que puede utilizar para realizar un intervalo amplio de tareas de migración de datos. SSIS es una plataforma para aplicaciones de integración de datos y flujo de trabajo. Cuenta con una herramienta de almacenamiento de datos utilizada para la extracción, transformación y carga de datos (ETL). También puede utilizar esta herramienta para automatizar el mantenimiento de bases de datos de SQL Server y las actualizaciones de datos de cubo multidimensionales.

Los proyectos SSIS se organizan en paquetes guardados como archivos .dtsx basados en XML. Los paquetes pueden contener flujos de control y flujos de datos. Los flujos de datos se utilizan para representar operaciones ETL. Después de la implementación, los paquetes se almacenan en SQL Server en la base de datos SSISDB. SSISDB es una base de datos de procesamiento de transacciones en línea (OLTP) en el modo de recuperación completa.

Amazon RDS for SQL Server admite la ejecución de SSIS directamente en una instancia de base de datos RDS. Puede habilitar SSIS en una instancia de base de datos existente o nueva. SSIS se instala en la misma instancia de base de datos que su motor de base de datos.

RDS admite SSIS para las ediciones Standard y Enterprise de SQL Server en las siguientes versiones:
+ SQL Server 2022, todas las versiones
+ SQL Server 2019, versión 15.00.4043.16.v1 y posteriores
+ SQL Server 2017, versión 14.00.3223.3.v1 y posteriores
+ SQL Server 2016, versión 13.00.5426.0.v1 y posteriores

**Contents**
+ [Limitaciones y recomendaciones](#SSIS.Limitations)
+ [Habilitación de SSIS](#SSIS.Enabling)
  + [Creación del grupo de opciones para SSIS](#SSIS.OptionGroup)
  + [Agregar la opción SSIS al grupo de opciones](#SSIS.Add)
  + [Creación del grupo de parámetros para SSIS](#SSIS.CreateParamGroup)
  + [Modificación del parámetro para SSIS](#SSIS.ModifyParam)
  + [Asociación del grupo de opciones y el grupo de parámetros con su instancia de base de datos](#SSIS.Apply)
  + [Habilitación de la integración de S3](#SSIS.EnableS3)
+ [Permisos administrativos en SSISDB](SSIS.Permissions.md)
  + [Configuración de un usuario autenticado por Windows para SSIS](SSIS.Permissions.md#SSIS.Use.Auth)
+ [Implementación de un proyecto SSIS](SSIS.Deploy.md)
+ [Monitoreo del estado de una tarea de implementación](SSIS.Monitor.md)
+ [Uso de SSIS](SSIS.Use.md)
  + [Configuración de administradores de conexión de base de datos para proyectos SSIS](SSIS.Use.md#SSIS.Use.ConnMgrs)
  + [Creación de un proxy de SSIS](SSIS.Use.md#SSIS.Use.Proxy)
  + [Programación de un paquete SSIS mediante SQL Server Agent](SSIS.Use.md#SSIS.Use.Schedule)
  + [Revocación de acceso SSIS desde el proxy](SSIS.Use.md#SSIS.Use.Revoke)
+ [Deshabilitación y eliminación de la base de datos de SSIS](SSIS.DisableDrop.md)
  + [Deshabilitación de SSIS](SSIS.DisableDrop.md#SSIS.Disable)
  + [Borrado de la base de datos SSISDB](SSIS.DisableDrop.md#SSIS.Drop)

## Limitaciones y recomendaciones
<a name="SSIS.Limitations"></a>

Las siguientes limitaciones y recomendaciones se aplican a la ejecución de SSIS en RDS para SQL Server:
+ La instancia de base de datos debe tener un grupo de parámetros asociado con el parámetro `clr enabled` establecido en 1. Para obtener más información, consulte [Modificación del parámetro para SSIS](#SSIS.ModifyParam).
**nota**  
Si habilita el parámetro `clr enabled` en SQL Server 2017 o 2019, no podrá utilizar el tiempo de ejecución del lenguaje común (CLR) en su instancia de base de datos. Para obtener más información, consulte [Características no compatibles y características con compatibilidad limitada](SQLServer.Concepts.General.FeatureNonSupport.md).
+ Se admiten las siguientes tareas de flujo de control:
  + Tarea DDL Execute de Analysis Services
  + Tarea de procesamiento de Analysis Services
  + Tarea de inserción masiva
  + Tarea comprobar integridad de la base de datos
  + Tarea de flujo de datos
  + Tarea de consulta de minería de datos
  + Tarea de creación de perfiles de datos
  + Tarea ejecutar paquete
  + Tarea ejecutar trabajo de SQL Server Agent
  + Tarea ejecutar SQL
  + Tarea ejecutar instrucción T-SQL
  + Tarea notificar operador
  + Tarea de reconstruir índice
  + Tarea de reorganizar índice
  + Tarea de reducir base de datos
  + Tarea de transferencia de base de datos
  + Tarea de transferencia de trabajos
  + Tarea de transferencia de inicios de sesión
  + Tarea de transferencia de objetos de SQL Server
  + Tarea de actualizar estadísticas
+ Solo se admite la implementación del proyecto.
+ Se admite la ejecución de paquetes SSIS mediante SQL Server Agent.
+ Los registros de SSIS solo se pueden insertar en bases de datos creadas por el usuario.
+ Utilice solo la carpeta `D:\S3` para trabajar con archivos. Los archivos colocados en cualquier otro directorio se eliminan. Tenga en cuenta algunos otros detalles de ubicación de archivos:
  + Coloque los archivos de entrada y salida del proyecto SSIS en la carpeta `D:\S3`.
  + Para la tarea de flujo de datos, cambie la ubicación de `BLOBTempStoragePath` y `BufferTempStoragePath` a un archivo dentro de la carpeta `D:\S3`. La ruta del archivo debe comenzar con `D:\S3\`.
  + Asegúrese de que todos los parámetros, variables y expresiones utilizados para las conexiones de archivos apuntan a la carpeta `D:\S3`.
  + En las instancias multi-AZ, los archivos creados por SSIS en la carpeta `D:\S3` se eliminan después de una conmutación por error. Para obtener más información, consulte [Limitaciones multi-AZ para la integración S3](User.SQLServer.Options.S3-integration.md#S3-MAZ).
  + Cargue los archivos creados por SSIS en la carpeta `D:\S3` en su bucket de Amazon S3 para que sean permanentes.
+ No se admiten las transformaciones "importar columna" y "exportar columna" ni el componente script de la tarea de flujo de datos.
+ No puede habilitar el volcado en paquetes SSIS en ejecución y no puede agregar pulsaciones de datos en paquetes SSIS.
+ No se admite la característica SSIS Scale Out.
+ No se pueden implementar proyectos directamente. Proporcionamos procedimientos almacenados de RDS para ello. Para obtener más información, consulte [Implementación de un proyecto SSIS](SSIS.Deploy.md).
+ Cree archivos de proyecto SSIS (.ispac) con el modo de protección `DoNotSavePasswords` para la implementación en RDS.
+ SSIS no se admite en instancias Always On con réplicas de lectura.
+ No puede realizar una copia de seguridad de la base de datos SSISDB asociada con la opción `SSIS`.
+ No se admite la importación y restauración de la base de datos SSISDB desde otras instancias SSIS.
+ Puede conectarse a otras instancias de base de datos de SQL Server o a un origen de datos de Oracle. La conexión a otros motores de bases de datos, como MySQL o PostgreSQL, no es compatible con SSIS en RDS para SQL Server. Para obtener más información acerca de la conexión a un origen de datos de Oracle, consulte [Servidores enlazados con Oracle OLEDB](Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.md). 
+ SSIS no admite una instancia unida a un dominio con una confianza saliente a un dominio en las instalaciones. Cuando utilice una confianza saliente, ejecute el trabajo de SSIS desde una cuenta del dominio de AWS local.
+ No se admite la ejecución de paquetes basados en el sistema de archivos.

## Habilitación de SSIS
<a name="SSIS.Enabling"></a>

Para habilitar SSIS, agregue la opción SSIS a su instancia de base de datos. Utilice el siguiente proceso:

1. Cree un nuevo grupo de opciones o elija un grupo de opciones ya existente.

1. Añada la opción `SSIS` al grupo de opciones.

1. Cree un nuevo grupo de parámetros o elija un grupo de parámetros existente.

1. Modifique el grupo de parámetros para establecer el parámetro `clr enabled` en 1.

1. Asocie el grupo de opciones y el grupo de parámetros a la instancia de base de datos.

1. Habilite la integración de Amazon S3.

**nota**  
Si ya existe una base de datos con el nombre SSISDB o un inicio de sesión SSIS reservado en la instancia de base de datos, no puede habilitar SSIS en la instancia.

### Creación del grupo de opciones para SSIS
<a name="SSIS.OptionGroup"></a>

Para trabajar con SSIS, cree un grupo de opciones o modifique un grupo de opciones que corresponda a la edición y versión de SQL Server de la instancia de base de datos que planea utilizar. Para ello, utilice la opción Consola de administración de AWS o la AWS CLI.

#### Consola
<a name="SSIS.OptionGroup.Console"></a>

El siguiente procedimiento crea un grupo de opciones para SQL Server Standard Edition 2016.

**Para crear el grupo de opciones**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Option groups** (Grupos de opciones).

1. Elija **Create group**.

1. En la ventana **Create option group** (Crear grupo de opciones), haga lo siguiente:

   1. En **Nombre**, escriba un nombre para el grupo de opciones que sea exclusivo dentro de su cuenta de AWS, como **ssis-se-2016**. El nombre solo puede contener letras, dígitos y guiones.

   1. En **Descripción**, escriba una breve descripción del grupo de opciones, como **SSIS option group for SQL Server SE 2016**. La descripción se utiliza para fines de visualización. 

   1. Para **Engine (Motor)**, elija **sqlserver-se**.

   1. En **Versión principal del motor**, elija **13.00**.

1. Seleccione **Crear**.

#### CLI
<a name="SSIS.OptionGroup.CLI"></a>

El siguiente procedimiento crea un grupo de opciones para SQL Server Standard Edition 2016.

**Para crear el grupo de opciones**
+ Ejecute uno de los siguientes comandos.  
**Example**  

  Para Linux, macOS o Unix:

  ```
  aws rds create-option-group \
      --option-group-name ssis-se-2016 \
      --engine-name sqlserver-se \
      --major-engine-version 13.00 \
      --option-group-description "SSIS option group for SQL Server SE 2016"
  ```

  Para Windows:

  ```
  aws rds create-option-group ^
      --option-group-name ssis-se-2016 ^
      --engine-name sqlserver-se ^
      --major-engine-version 13.00 ^
      --option-group-description "SSIS option group for SQL Server SE 2016"
  ```

### Agregar la opción SSIS al grupo de opciones
<a name="SSIS.Add"></a>

A continuación, utilice la Consola de administración de AWS o la AWS CLI para agregar la opción `SSIS` al grupo de opciones.

#### Consola
<a name="SSIS.Add.Console"></a>

**Para agregar la opción SSIS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Option groups** (Grupos de opciones).

1. Elija el grupo de opciones que acaba de crear, **ssis-se-2016** en este ejemplo.

1. Seleccione **Add option (Añadir opción)**.

1. En **Detalles de la opción**, elija **SSIS** para **Nombre de la opción**.

1. En **Scheduling (Programación)**, elija si desea agregar la opción inmediatamente o en el siguiente período de mantenimiento.

1. Elija **Add option** (Agregar opción).

#### CLI
<a name="SSIS.Add.CLI"></a>

**Para agregar la opción SSIS**
+ Añada la opción `SSIS` al grupo de opciones.  
**Example**  

  Para Linux, macOS o Unix:

  ```
  aws rds add-option-to-option-group \
      --option-group-name ssis-se-2016 \
      --options OptionName=SSIS \
      --apply-immediately
  ```

  Para Windows:

  ```
  aws rds add-option-to-option-group ^
      --option-group-name ssis-se-2016 ^
      --options OptionName=SSIS ^
      --apply-immediately
  ```

### Creación del grupo de parámetros para SSIS
<a name="SSIS.CreateParamGroup"></a>

Cree o modifique un grupo de parámetros para el parámetro `clr enabled` que corresponde a la edición y versión de SQL Server de la instancia de base de datos que piensa utilizar para SSIS.

#### Consola
<a name="SSIS.CreateParamGroup.Console"></a>

El procedimiento siguiente crea un grupo de parámetros para SQL Server Standard Edition 2016.

**Para crear el grupo de parámetros**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Parameter groups** (Grupos de parámetros).

1. Elija **Create parameter group**.

1. En el panel **Create parameter group (Crear grupo de parámetros)**, haga lo siguiente:

   1. En **Familia de grupos de parámetros**, elija **sqlserver-se-13.0**.

   1. En **Nombre de grupo**, escriba un identificador para el grupo de parámetros, como **ssis-sqlserver-se-13**.

   1. En **Descripción**, escriba **clr enabled parameter group**.

1. Seleccione **Create (Crear)**.

#### CLI
<a name="SSIS.CreateParamGroup.CLI"></a>

El procedimiento siguiente crea un grupo de parámetros para SQL Server Standard Edition 2016.

**Para crear el grupo de parámetros**
+ Ejecute uno de los siguientes comandos.  
**Example**  

  Para Linux, macOS o Unix:

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "clr enabled parameter group"
  ```

  Para Windows:

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "clr enabled parameter group"
  ```

### Modificación del parámetro para SSIS
<a name="SSIS.ModifyParam"></a>

Modifique el parámetro `clr enabled` en el grupo de parámetros que corresponde a la edición y la versión de SQL Server de su instancia de base de datos. Para SSIS, establezca el parámetro `clr enabled` en 1.

#### Consola
<a name="SSIS.ModifyParam.Console"></a>

El procedimiento siguiente modifica el grupo de parámetros que ha creado para SQL Server Standard Edition 2016.

**Para modificar el grupo de parámetros**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Parameter groups** (Grupos de parámetros).

1. Elija el grupo de parámetros, como **ssis-sqlserver-se-13**.

1. En **Parámetros**, filtre la lista de parámetros para **clr**.

1. Elija **clr habilitado**.

1. Elija **Edit parameters (Editar parámetros)**.

1. En **Valores**, elija **1**.

1. Elija **Save changes**.

#### CLI
<a name="SSIS.ModifyParam.CLI"></a>

El procedimiento siguiente modifica el grupo de parámetros que ha creado para SQL Server Standard Edition 2016.

**Para modificar el grupo de parámetros**
+ Ejecute uno de los siguientes comandos.  
**Example**  

  Para Linux, macOS o Unix:

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"
  ```

  Para Windows:

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"
  ```

### Asociación del grupo de opciones y el grupo de parámetros con su instancia de base de datos
<a name="SSIS.Apply"></a>

Para asociar el grupo de opciones de SSIS y el grupo de parámetros con su instancia de base de datos, utilice la Consola de administración de AWS o la AWS CLI 

**nota**  
Si usa una instancia que ya existe, esta debe tener ya asociados un dominio de Active Directory y un rol de AWS Identity and Access Management (IAM). Si crea una instancia nueva, especifique un rol de IAM y un dominio de Active Directory ya existentes. Para obtener más información, consulte [Uso de Active Directory con RDS para SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).

#### Consola
<a name="SSIS.Apply.Console"></a>

Para terminar de habilitar SSIS, asocie su grupo de opciones de SSIS y el grupo de parámetros con una instancia de base de datos nueva o existente:
+ Para una nueva instancia de base de datos, asóciela cuando inicie la instancia. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](USER_CreateDBInstance.md).
+ Para una instancia de base de datos existente, asóciela modificando la instancia. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md).

#### CLI
<a name="SSIS.Apply.CLI"></a>

Puede asociar el grupo de opciones de SSIS y el grupo de parámetros con una instancia de base de datos nueva o existente.

**Para crear una instancia con el grupo de opciones de SSIS y el grupo de parámetros**
+ Especifique el mismo tipo de motor de base de datos y la misma versión principal que ha utilizado al crear el grupo de opciones.  
**Example**  

  Para Linux, macOS o Unix:

  ```
  aws rds create-db-instance \
      --db-instance-identifier myssisinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 13.00.5426.0.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name ssis-se-2016 \
      --db-parameter-group-name ssis-sqlserver-se-13
  ```

  Para Windows:

  ```
  aws rds create-db-instance ^
      --db-instance-identifier myssisinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 13.00.5426.0.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name ssis-se-2016 ^
      --db-parameter-group-name ssis-sqlserver-se-13
  ```

**Para modificar una instancia y asociar el grupo de opciones y el grupo de parámetros de SSIS**
+ Ejecute uno de los siguientes comandos.  
**Example**  

  Para Linux, macOS o Unix:

  ```
  aws rds modify-db-instance \
      --db-instance-identifier myssisinstance \
      --option-group-name ssis-se-2016 \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --apply-immediately
  ```

  Para Windows:

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier myssisinstance ^
      --option-group-name ssis-se-2016 ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --apply-immediately
  ```

### Habilitación de la integración de S3
<a name="SSIS.EnableS3"></a>

Para descargar archivos de proyecto SSIS (.ispac) en su host para su implementación, utilice la integración de archivos S3. Para obtener más información, consulte [Integración de una instancia de base de datos de Amazon RDS for SQL Server con Amazon S3](User.SQLServer.Options.S3-integration.md).