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.
Temas
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
como nombre de servidor de la cadena de conexión.DB_instance_name
.fully_qualified_domain_name
Un ejemplo es
myssisinstance.corp-ad.example.com
, dondemyssisinstance
es el nombre de instancia de base de datos ycorp-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.
como nombre de servidor de la cadena de conexión.LocalHost
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
' GOnota
IDENTITY
debe ser un inicio de sesión autenticado por dominio. Reemplace
por la contraseña para el inicio de sesión autenticado por el dominio.mysecret
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
-
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
-
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 -
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
-
Utilice la siguiente instrucción SQL para consultar los beneficiarios del proxy.
USE [msdb] GO EXEC sp_help_proxy GO
-
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
-
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
-
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 -
Elimine el proxy.
USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSIS_Proxy' GO