Run SSIS Package in Azure via SSDT

This post has been republished via RSS; it originally appeared at: SQL Server Integration Services (SSIS) articles.

The feature of Azure-enabled SQL Server Integration Services (SSIS) projects on SQL Server Data Tools (SSDT) allows you to run packages on Azure-SSIS Integration Runtime (IR) in Azure Data Factory (ADF).

 

You can download below SSDT versions to use the feature:

 

Sample SSIS package is to transfer data from on-premises file (E:\Input.txt) to Azure SQL.

1.png

 

You can perform below operations to run that package in Azure:

 

Step 1: Azure-enabling your SSIS project.

clipboard_image_1.png

Please note, it requires you to set target server version of SSIS project to be the latest one supported by Azure-SSIS IR, which is currently SQL Server 2017.

 

Step 2: Connect your project to SSIS Platform-as-a-Service (PaaS) in Azure Data Factory.

clipboard_image_2.png

 

On the Select SSIS IR in ADF page, select your existing ADF and Azure-SSIS IR to run packages or create new ones if you do not have any.

clipboard_image_3.png

 

If your existing Azure subscription does not have any Azure Data Factory, you can click on the Create SSIS IR button to launch the Integration Runtime Creation Wizard, where you can enter the location and prefix for us to automatically create a new Azure Resource Group, Data Factory, and SSIS IR on your behalf.

clipboard_image_4.png

 

On the Select Azure Storage page, select your existing Azure Storage account to upload packages into Azure Files or create a new one if you do not have any.

clipboard_image_5.png

 

Step 3: Run your package in Azure

clipboard_image_6.png

 

If your Azure-SSIS Integration Runtime is not started, a dialog window will pop up to start it.

IR_Start.png

You will be able to see the logs of execution on the “Progress” tab same as local run and log content will be refreshed every minute until execution completes.

clipboard_image_8.png

 

Step 4: Adjust your package to solve compatibility issue if there is

You might see package execution failed as above if there is some compatibility issue to lift & shift your package from on-prem to cloud. For this sample package, as it refers to a on-premises file which Azure-SSIS Integration Runtime can’t access directly, package execution will fail.

 

You can have 3 options to solve the problem:

  1. Leverage Azure File share to store the file and configure Azure-SSIS IR to access that Azure File share via cmdkey with custom setup
  2. Put file into on-premises file share and join Azure-SSIS IR into VNet to access on-premises file share
  3. Configure Self-Hosted IR as proxy to access on-premises file

Take option 1 as example, upload file to \\ssisdemotest.file.core.windows.net\share\Input.txt and then update file connection manager in package to refer to new file location.

clipboard_image_9.png

Then configure your Azure-SSIS IR with custom setup script:

cmdkey /add:ssisdemotest.file.core.windows.net /user:azure\ssisdemotest /pass: [storage_key]

 

Try to execute package in Azure again and execution will pass.

clipboard_image_10.png

 

For more information about Azure-Enabled feature, please refer to

https://docs.microsoft.com/en-us/azure/data-factory/how-to-invoke-ssis-package-ssdt

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.