Uso de SSIS - Amazon Relational Database Service

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