Updated on 2024-10-24 GMT+08:00

SQL Server Integration Services (SSIS)

Scenarios

SSIS provides enterprises with data integration solutions and workflows to create business intelligence (BI). It can be used to extract, transform, and load (ETL) data from various sources. RDS for SQL Server provides the SSIS feature. You can enable SSIS, synchronize project files, authorize and deploy projects, and configure jobs to execute projects.

Constraints

  • To enable this feature for your instance, you need to add the instance to an AD domain and use a domain account to log in to the instance. The AD domain name and directory address are displayed on the Overview page.
  • SSIS cannot be enabled for read replicas.
  • The parameter clr enabled of your instance is set to 1.
  • Only project deployment is supported.
  • SQL Server Agent can be used to run SSIS packages.
  • SSIS is provided only in the following editions: 2014 Standard Edition, 2014 Enterprise Edition, 2016 Standard Edition, 2016 Enterprise Edition, 2017 Standard Edition, 2017 Enterprise Edition
  • The path used for building an SSIS package must start with D:\SSIS. After the SSIS package is deployed on the ECS, the package is automatically stored in the D:\SSIS\{projectName}\{projectFile} directory. Ensure that all files, parameter variables, and expressions used in the project are stored in the path starting with D:\SSIS.
  • To deploy the SSIS package, you must run the msdb.dbo.rds_ssis_task stored procedure. For details, see Deploying an SSIS Project. Deployment of the project directly into an RDS instance is not supported.
  • Use the DontSaveSensitive protection level to build SSIS project files (.ispac) for deployment.
  • Do not create or restore the database with the name SSISDB. Otherwise, SSIS of your instance may be unavailable.
  • The SSIS project files must be uploaded to an OBS bucket. The .zip and .ispac files are supported. The file name must be the same as the project name. The ZIP package must contain the .ispac project files. The file name can contain only uppercase letters, lowercase letters, digits, hyphens (-), and underscores (_).

Enabling SSIS

  1. Log in to the management console.
  2. Click in the upper left corner and select a region.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the target instance name.
  5. In the navigation pane on the left, click SSIS. On the displayed page, click next to Enable SSIS.
  6. In the displayed dialog box, click Yes to enable SSIS.

    • This function cannot be disabled after being enabled.
    • After SSIS is enabled, the parameter clr enabled is set to 1 by default. Do not disable this parameter. Otherwise, SSIS cannot work properly.

After SSIS is enabled, you can add an SSIS package.

  • After this function is enabled, the instance enters the data synchronization state. After the SSISDB synchronization is complete, the instance becomes available.
  • You need to add the RDS host information to the ECS or local device added to the AD domain so that you can access the database from the ECS or local device.

Adding an SSIS package

Before performing the following steps, upload SSIS project files to the OBS bucket.

  1. Log in to the management console.
  2. Click in the upper left corner and select a region.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the target instance name.
  5. In the navigation pane on the left, choose SSIS and click Add Package.
  6. In the displayed dialog box, select a package name and click OK. After the package is added, information about the package is displayed on the SSIS page.

    Figure 1 Adding a package

Deploying an SSIS Project

  1. Use SQL Server Management Studio to connect to the database.
  2. Run the stored procedure master.dbo.rds_grant_ssis_to_login to grant SSIS-related permissions to the domain account. For details, see Granting SSIS Permissions to a Domain Account.
  3. Choose Integration Service Catalogs > SSISDB, right-click to create an SSIS folder, and enter a name for the folder. Then, two subfolders Projects and Environments are automatically created.

  4. Run the stored procedure msdb.dbo.rds_ssis_task using the domain account to deploy the SSIS package. For details, see Deploying an SSIS Project.
  5. Configure and execute the package. Before executing the package, configure password information for the connection manager and package parameters because DontSaveSensitive has been selected as the project protection level for building the package.

    1. Right-click the package name, choose Configure from the shortcut menu, and configure parameters.
      Figure 2 Configuring parameters
    2. After the configuration is complete, click Execute to run the SSIS project. If execution information similar to what is shown in the following figure is displayed, the SSIS project has been executed.
      Figure 3 Execution information

  6. Create a credential that you use to execute the SSIS package. Specifically, choose Security > Credentials, right-click and choose New Credentials from the shortcut menu. On the displayed page, enter the domain account information.
  7. Run the following SQL statements to create an SSIS proxy:

    USE [msdb]
    GO
    EXEC msdb.dbo.sp_add_proxy @proxy_name=N'test_proxy', @credential_name=N'ssis_credential', @enabled=1
    go
    exec msdb.dbo.rds_grant_proxy_subsystem 'test_proxy', 'SSIS'
     
    USE [msdb]
    GO
    EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'test_proxy', @login_name=N'JHN\dcadmin'
    GO
    • sp_add_proxy: a system stored procedure for creating a proxy (@proxy_name) and accessing the proxy credential (@credential_name)
    • sp_grant_login_to_proxy: a system stored procedure for granting the account (@login_name) the permission to access the proxy (@proxy_name)
    • rds_grant_proxy_subsystem: a stored procedure provided by RDS for granting subsystem permissions to the proxy

    The parameters in the stored procedures are explained as follows:

    @proxy_name: the name of the proxy to create.

    @proxy_subsystem: the subsystem name. To grant SSIS subsystem permissions to the proxy, set this parameter to SSIS.

  8. To create an SQL Server Agent job, choose SQL Server Agent > Jobs and enter a job name. Then, add a step to execute the SSIS package. You can view the job details once the job is created.
  9. Right-click the job name, choose start job from the shortcut menu, and wait for the execution result.
  10. Check the SSIS project and operation records.