Compatibilidad de SQL Server Integration Services en Amazon RDS for SQL Server - Amazon Relational Database Service

Compatibilidad de SQL Server Integration Services en Amazon RDS for SQL Server

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

Limitaciones y recomendaciones

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.

    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.

  • 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.

    • 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.

  • 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.

Habilitación de SSIS

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.

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

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

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

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

  6. 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

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 AWS Management Console o la AWS CLI.

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 AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

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

  3. Elija Create group.

  4. 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.

    2. 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.

    3. Para Engine (Motor), elija sqlserver-se.

    4. En Versión principal del motor, elija 13.00.

  5. Elija Create (Crear).

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.

    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"

    En 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 continuación, utilice la AWS Management Console o la AWS CLI para agregar la opción SSIS al grupo de opciones.

Para agregar la opción SSIS
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

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

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

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

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

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

  7. Elija Add option (Agregar opción).

Para agregar la opción SSIS
  • Añada la opción SSIS al grupo de opciones.

    Para Linux, macOS, o Unix:

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

    En 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

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.

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 AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

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

  3. Elija Create parameter group.

  4. 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.

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

    3. En Descripción, escriba clr enabled parameter group.

  5. Elija Create (Crear).

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.

    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"

    En 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

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.

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 AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

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

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

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

  5. Elija clr habilitado.

  6. Elija Edit parameters (Editar parámetros).

  7. En Valores, elija 1.

  8. Elija Guardar cambios.

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.

    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"

    En 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

Para asociar el grupo de opciones de SSIS y el grupo de parámetros con su instancia de base de datos, utilice la AWS Management Console 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.

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:

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.

    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

    En 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.

    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

    En 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

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.

Permisos administrativos en SSISDB

Cuando la instancia se crea o modifica con la opción SSIS, el resultado es una base de datos SSISDB con los roles ssis_admin y ssis_logreader concedidos al usuario maestro. El usuario maestro tiene los siguientes privilegios en SSISDB:

  • alter on ssis_admin role

  • alter on ssis_logreader role

  • alter any user

Dado que el usuario maestro es un usuario autenticado por SQL, no se puede utilizar el usuario maestro para ejecutar paquetes SSIS. El usuario maestro puede utilizar estos privilegios para crear nuevos usuarios de SSISDB y agregarlos a los roles ssis_admin y ssis_logreader. Hacer esto es útil para conceder acceso a los usuarios de su dominio para usar SSIS.

Configuración de un usuario autenticado por Windows para SSIS

El usuario maestro puede utilizar el ejemplo de código siguiente para configurar un inicio de sesión autenticado por Windows en SSISDB y conceder los permisos de procedimiento necesarios. Al hacerlo, se conceden permisos al usuario del dominio para implementar y ejecutar paquetes SSIS, utilizar procedimientos de transferencia de archivos S3, crear credenciales y trabajar con el proxy de SQL Server Agent. Para obtener más información, consulte Credenciales (Motor de base de datos) y Crear un proxy de SQL Server Agent en la documentación de Microsoft.

nota

Puede conceder algunos o todos los permisos siguientes, según sea necesario, a los usuarios autenticados de Windows.

-- Create a server-level SQL login for the domain user, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create a database-level account for the domain user, if it doesn't already exist USE [SSISDB] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Add SSIS role membership to the domain user ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name] ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name] GO -- Add MSDB role membership to the domain user USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Grant MSDB stored procedure privileges to the domain user GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION -- Add the SQLAgentUserRole privilege to the domain user USE [msdb] GO ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO -- Grant the ALTER ANY CREDENTIAL privilege to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO

Implementación de un proyecto SSIS

En RDS, no puede implementar directamente proyectos SSIS mediante procedimientos de SQL Server Management Studio (SSMS) o SSIS. Para descargar archivos de proyecto de Amazon S3 y, a continuación, implementarlos, utilice procedimientos almacenados de RDS.

Para ejecutar los procedimientos almacenados, inicie sesión como cualquier usuario al que haya concedido permisos para ejecutar los procedimientos almacenados. Para obtener más información, consulte Configuración de un usuario autenticado por Windows para SSIS.

Para implementar el proyecto SSIS
  1. Descargue el archivo del proyecto (.ispac).

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/ssisproject.ispac', [@rds_file_path='D:\S3\ssisproject.ispac'], [@overwrite_file=1];
  2. Envíe la tarea de implementación, asegurándose de lo siguiente:

    • La carpeta está presente en el catálogo de SSIS.

    • El nombre del proyecto coincide con el nombre del proyecto que utilizó al desarrollar el proyecto SSIS.

    exec msdb.dbo.rds_msbi_task @task_type='SSIS_DEPLOY_PROJECT', @folder_name='DEMO', @project_name='ssisproject', @file_path='D:\S3\ssisproject.ispac';

Monitoreo del estado de una tarea de implementación

Para realizar un seguimiento del estado de la tarea de implementación, llame a la función rds_fn_task_status. Tiene dos parámetros. El primer parámetro tiene que ser siempre NULL porque no se aplica a SSIS. El segundo parámetro acepta un ID de tarea.

Para obtener una lista de todas las tareas, establezca el primer parámetro en NULL y el segundo en 0, como se muestra en el siguiente ejemplo.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

Para obtener una tarea específica, establezca el primer parámetro en NULL y el segundo en el ID de la tarea, como se muestra en el siguiente ejemplo.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

La función rds_fn_task_status devuelve la siguiente información.

Parámetro de salida

Descripción

task_id

El ID de la tarea.

task_type

SSIS_DEPLOY_PROJECT

database_name

No aplicable a tareas SSIS.

% complete

El porcentaje de progreso de la tarea.

duration (mins)

El tiempo empleado en la tarea, en minutos.

lifecycle

El estado de la tarea. Los posibles estados son los siguientes:

  • CREATED: después de llamar al procedimiento almacenado msdb.dbo.rds_msbi_task, se crea una tarea y el estado se establece en CREATED.

  • IN_PROGRESS – cuando una tarea comienza, el estado se establece en IN_PROGRESS. Pueden pasar hasta cinco minutos hasta que el estado cambie de CREATED a IN_PROGRESS.

  • SUCCESS – cuando una tarea se completa, el estado se establece en SUCCESS.

  • ERROR – si se produce un error con una tarea, el estado se establece en ERROR. Para obtener más información acerca del error, consulte la columna task_info.

  • CANCEL_REQUESTED: después de llamar a rds_cancel_task, el estado de la tarea se establece en CANCEL_REQUESTED.

  • CANCELLED – después de que se cancela una tarea correctamente, se establece su estado en CANCELLED.

task_info

Información adicional acerca de la tarea. Si se produce un error durante el procesamiento, esta columna contiene información acerca del error.

last_updated

La fecha y hora en que se actualizó por última vez el estado de la tarea.

created_at

La fecha y hora en que se creó la tarea.

S3_object_arn

No aplicable a tareas SSIS.

overwrite_S3_backup_file

No aplicable a tareas SSIS.

KMS_master_key_arn

No aplicable a tareas SSIS.

filepath

No aplicable a tareas SSIS.

overwrite_file

No aplicable a tareas SSIS.

task_metadata

Metadatos asociados con la tarea SSIS.

Uso de SSIS

Después de implementar el proyecto SSIS en el catálogo de SSIS, puede ejecutar paquetes directamente desde SSMS o programarlos mediante SQL Server Agent. Debe usar un inicio de sesión autenticado por Windows para ejecutar paquetes SSIS. Para obtener más información, consulte Configuración de un usuario autenticado por Windows para SSIS.

Configuración de administradores de conexión de base de datos para proyectos SSIS

Cuando utiliza un administrador de conexiones, puede utilizar estos tipos de autenticación:

  • Para conexiones de base de datos locales con AWS Managed Active Directory, puede utilizar la autenticación de SQL o la autenticación de Windows. Para la autenticación de Windows, utilice DB_instance_name.fully_qualified_domain_name como nombre de servidor de la cadena de conexión.

    Un ejemplo es myssisinstance.corp-ad.example.com, donde myssisinstance es el nombre de instancia de base de datos y corp-ad.example.com es el nombre de dominio completo.

  • Para conexiones remotas, utilice siempre la autenticación de SQL.

  • Para conexiones de base de datos locales con Active Directory autoadministrado, puede utilizar la autenticación de SQL o la autenticación de Windows. Para la autenticación de Windows, utilice . o LocalHost como nombre de servidor de la cadena de conexión.

Creación de un proxy de SSIS

Para poder programar paquetes SSIS utilizando SQL Server Agent, cree credenciales de SSIS y un proxy de SSIS. Ejecute estos procedimientos como usuario autenticado por Windows.

Para crear la credencial de SSIS
  • Cree la credencial para el proxy. Para ello, puede utilizar SSMS o la siguiente instrucción SQL.

    USE [master] GO CREATE CREDENTIAL [SSIS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    nota

    IDENTITY debe ser un inicio de sesión autenticado por dominio. Reemplace mysecret por la contraseña para el inicio de sesión autenticado por el dominio.

    Siempre que se cambie el host principal de SSISDB, modifique las credenciales del proxy de SSIS para permitir que el nuevo host tenga acceso a ellas.

Para crear el proxy de SSIS
  1. Utilice la siguiente instrucción SQL para crear el proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSIS_Proxy',@credential_name=N'SSIS_Credential',@description=N'' GO
  2. Utilice la siguiente instrucción SQL para conceder acceso al proxy a otros usuarios.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSIS_Proxy',@login_name=N'mydomain\user_name' GO
  3. Utilice la siguiente instrucción SQL para conceder acceso al subsistema de SSIS al proxy.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
Para consultar el proxy y las concesiones en el proxy
  1. Utilice la siguiente instrucción SQL para consultar los beneficiarios del proxy.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. Utilice la siguiente instrucción SQL para consultar las concesiones del subsistema.

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

Programación de un paquete SSIS mediante SQL Server Agent

Después de crear la credencial y el proxy y conceder acceso SSIS al proxy, puede crear un trabajo de SQL Server Agent para programar el paquete SSIS.

Para programar el paquete SSIS
  • Puede utilizar SSMS o T-SQL para crear el trabajo de SQL Server Agent. En el siguiente ejemplo se utiliza T-SQL.

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'MYSSISJob', @enabled=1, @notify_level_eventlog=0, @notify_level_email=2, @notify_level_page=2, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'MYSSISJob',@server_name=N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'MYSSISJob',@step_name=N'ExecuteSSISPackage', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_fail_action=2, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'SSIS', @command=N'/ISSERVER "\"\SSISDB\MySSISFolder\MySSISProject\MySSISPackage.dtsx\"" /SERVER "\"my-rds-ssis-instance.corp-ad.company.com/\"" /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E', @database_name=N'master', @flags=0, @proxy_name=N'SSIS_Proxy' GO

Revocación de acceso SSIS desde el proxy

Puede revocar el acceso al subsistema de SSIS y eliminar el proxy de SSIS mediante los siguientes procedimientos almacenados.

Para revocar el acceso y eliminar el proxy
  1. Revoque el acceso al subsistema.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
  2. Revoque las concesiones en el proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSIS_Proxy',@name=N'mydomain\user_name' GO
  3. Elimine el proxy.

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSIS_Proxy' GO

Deshabilitación de SSIS

Para deshabilitar SSIS, quite la opción SSIS del grupo de opciones.

importante

Quitar la opción no elimina la base de datos SSISDB, por lo que puede eliminar la opción de forma segura sin perder los proyectos SSIS.

Puede volver a habilitar la opción SSIS después de la eliminación para volver a utilizar los proyectos SSIS que se implementaron anteriormente en el catálogo de SSIS.

El procedimiento siguiente quita la opción SSIS.

Para quitar la opción SSIS de su grupo de opciones
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

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

  3. Elija el grupo de opciones con la opción SSIS (ssis-se-2016 en los ejemplos anteriores).

  4. Elija Delete option (Eliminar opción).

  5. En Opciones de eliminación, elija SSIS para Opciones que se van a eliminar.

  6. En Apply immediately (Aplicar inmediatamente), seleccione Yes (Sí) para eliminar la opción inmediatamente o No para eliminarla en el siguiente período de mantenimiento.

  7. Elija Eliminar.

El procedimiento siguiente quita la opción SSIS.

Para quitar la opción SSIS de su grupo de opciones
  • Ejecute uno de los siguientes comandos.

    Para Linux, macOS, o Unix:

    aws rds remove-option-from-option-group \ --option-group-name ssis-se-2016 \ --options SSIS \ --apply-immediately

    En Windows:

    aws rds remove-option-from-option-group ^ --option-group-name ssis-se-2016 ^ --options SSIS ^ --apply-immediately

Borrado de la base de datos SSISDB

Después de quitar la opción SSIS, la base de datos SSISDB no se elimina. Para eliminar la base de datos SSISDB, utilice el procedimiento almacenado rds_drop_ssis_database después de quitar la opción SSIS.

Para eliminar la base de datos SSIS
  • Utilice el siguiente procedimiento almacenado.

    USE [msdb] GO EXEC dbo.rds_drop_ssis_database GO

Después de eliminar la base de datos SSISDB, si vuelve a habilitar la opción SSIS obtendrá un nuevo catálogo de SSISDB.