Home
%3CLINGO-SUB%20id%3D%22lingo-sub-1084779%22%20slang%3D%22en-US%22%3EScripts%3F%20We%20don%E2%80%99t%20need%20no%20scripts!%20%E2%80%93%20Express%20custom%20setups%20for%20SSIS%20in%20Azure%20Data%20Factory%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1084779%22%20slang%3D%22en-US%22%3E%3CP%3ESQL%20Server%20Integration%20Services%20(SSIS)%20as%20an%20on-premises%20ETL%20platform%20has%20been%20around%20for%20a%20very%20long%20time%20%E2%80%93%20more%20than%2015%20years%20I%20believe%20%E2%80%93%20an%20eternity%20in%20the%20Internet%2Fcloud%20computing%20age.%26nbsp%3B%20During%20that%20time%2C%20a%20lot%20of%20investments%20have%20been%20made%20to%20extend%20its%20data%20extraction%2Ftransformation%2Fingestion%20capabilities%20with%20additional%20components%20beyond%20the%20built-in%20ones%20that%20are%20bundled%20with%20SQL%20Server.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThese%20additional%20components%20come%20out-of-the-box%20to%20be%20downloaded%20separately%20and%20installed%20on%20local%2Fproduction%20machines%20for%20designing%20SSIS%20packages%2Frunning%20SSIS%20workloads.%26nbsp%3B%20They%20include%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EAdvanced%2Fpremium%20components%20for%20SSIS%20Enterprise%20Edition%3C%2FLI%3E%0A%3CLI%3EPrivately%20built%20custom%20components%20that%20serve%20enterprise-specific%20purposes%3C%2FLI%3E%0A%3CLI%3EPublicly%20shared%20Open%20Source%20components%20that%20are%20developed%20by%20SSIS%20user%20community%3C%2FLI%3E%0A%3CLI%3ECommercially%20licensed%2Fsold%20components%20that%20are%20developed%20by%20our%20ISV%20partners%2Fother%203%3CSUP%3Erd%3C%2FSUP%3E%20parties%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3ECustom%20Setup%20Interface%20for%20SSIS%20IR%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EIn%202018%2C%20when%20we%20released%20SSIS%20as%20an%20ETL%20Platform%20as%20a%20Service%20(PaaS)%20in%20Azure%20Data%20Factory%20(ADF)%2C%20we%20made%20sure%20that%20all%20these%20additional%20components%20can%20still%20be%20installed%20on%20SSIS%20Integration%20Runtime%20(IR)%20%E2%80%93%20dedicated%20ADF%20servers%20for%20running%20SSIS%20workloads%20%E2%80%93%20via%20a%20custom%20setup%20interface%2C%20see%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2FSQL-Server-Integration-Services%2FEnterprise-Edition-Custom-Setup-and-3rd-Party-Extensibility-for%2Fba-p%2F388360%22%20target%3D%22_blank%22%20rel%3D%22noopener%22%3Ehttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2FSQL-Server-Integration-Services%2FEnterprise-Edition-Custom-Setup-and-3rd-Party-Extensibility-for%2Fba-p%2F388360%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20custom%20setup%20interface%20provides%20almost%20limitless%20possibilities%20to%20customize%20your%20SSIS%20IR%20%E2%80%93%20Essentially%2C%20anything%20you%20can%20install%20on%20your%20SSIS%20machine%20on%20premises%2C%20you%20can%20also%20install%20on%20SSIS%20IR%20using%20this%20interface.%26nbsp%3B%20Unfortunately%2C%20with%20great%20flexibility%20comes%20great%20complexity%2C%20as%20this%20interface%20requires%20you%20to%20do%20the%20following%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EPrepare%20your%20own%20custom%20setup%20script%20(main.cmd)%20%2B%20associated%20files%3C%2FLI%3E%0A%3CLI%3EBring%20your%20own%20Azure%20Storage%20account%20to%20store%20your%20custom%20setup%20script%20%2B%20associated%20files%20%2B%20setup%20execution%20logs%20in%20a%20blob%20container%3C%2FLI%3E%0A%3CLI%3EPrepare%20your%20Shared%20Access%20Signature%20(SAS)%20Uniform%20Resource%20Identifier%20(URI)%20for%20your%20blob%20container%26nbsp%3Bwith%20a%20sufficiently%20long%20expiry%20time%20and%20read%20%2B%20write%20%2B%20list%20permissions%3C%2FLI%3E%0A%3CLI%3EEnsure%20that%20your%20SAS%20URI%20and%20custom%20setup%20resources%20are%20always%20available%20during%20the%20whole%20lifecycle%20of%20your%20SSIS%20IR%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAfter%20a%20period%20of%20time%2C%20we%20noticed%20that%20there%20are%20common%2Fpopular%20custom%20setups%20that%20are%20repeatedly%20configured%20by%20many%20users%20when%20they%20provision%20their%20SSIS%20IR%2C%20so%20we%E2%80%99ve%20decided%20to%20make%20life%20a%20little%20bit%20easier%20for%20them%20and%20those%20who%20follow%20them%20later%20by%20introducing%20express%20custom%20setups.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EExpress%20Custom%20Setups%20for%20SSIS%20IR%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EExpress%20custom%20setups%20are%20common%2Fpopular%2Fselected%20custom%20setups%20that%20have%20been%20deeply%20integrated%20into%20SSIS%20IR%2C%20such%20that%20you%20need%20not%20prepare%20any%20scripts%20to%20configure%20them%20nor%20bring%20your%20own%20blob%20container%20in%20Azure%20Storage%20to%20store%20associated%20files.%26nbsp%3B%20It%E2%80%99s%20as%20simple%20as%20selecting%20your%20express%20custom%20setup%20types%20when%20provisioning%20SSIS%20IR%20and%20entering%20the%20values%20for%20relevant%20custom%20setup%20arguments.%26nbsp%3B%20At%20the%20time%20of%20writing%2C%20we%E2%80%99ve%20released%20the%20following%20express%20custom%20setup%20types%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3E%3CSTRONG%3ERun%20cmdkey%20command%3C%2FSTRONG%3E%2C%20where%20you%20can%20persist%20access%20credentials%20for%20your%20file%20shares%2FAzure%20Files%20on%20SSIS%20IR%20by%20entering%20your%20targeted%20computer%2Fdomain%20names%2C%20account%20names%2Fusernames%2C%20and%20account%20keys%2Fpasswords%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3EAdd%20environment%20variable%3C%2FSTRONG%3E%2C%20where%20you%20can%20add%20Windows%20environment%20variables%20to%20use%20in%20your%20packages%20that%20run%20on%20SSIS%20IR%20by%20entering%20your%20environment%20variable%20names%20and%20values%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3EInstall%20licensed%20component%3C%2FSTRONG%3E%2C%20where%20you%20can%20then%20select%20any%20integrated%20components%20from%20our%20ISV%20partners%2C%20e.g.%3A%3COL%3E%0A%3CLI%3E%3CSTRONG%3ESentryOne's%20Task%20Factory%3C%2FSTRONG%3E%20to%20install%20the%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fwww.sentryone.com%2Fproducts%2Ftask-factory%2Fhigh-performance-ssis-components%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3ETask%20Factory%3C%2FA%3E%26nbsp%3Bsuite%20of%20components%20from%20SentryOne%20on%20your%20SSIS%20IR%20by%20entering%20the%20product%20license%20key%20that%20you%20purchased%20from%20them%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3Eoh22's%20HEDDA.IO%26nbsp%3B%3C%2FSTRONG%3Eto%20install%20the%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fhedda.io%2Fssis-component%2F%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3EHEDDA.IO%3C%2FA%3E%26nbsp%3Bdata%20quality%2Fcleansing%20component%20from%20oh22%20on%20your%20SSIS%20IR%20after%20purchasing%20their%20service%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3Eoh22's%20SQLPhonetics.NET%26nbsp%3B%3C%2FSTRONG%3Eto%20install%20the%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fsqlphonetics.oh22.is%2Fsqlphonetics-net-for-microsoft-ssis%2F%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3ESQLPhonetics.NET%3C%2FA%3E%26nbsp%3Bdata%20quality%2Fmatching%20component%20from%20oh22%20on%20your%20SSIS%20IR%20by%20entering%20the%20product%20license%20key%20that%20you%20purchased%20from%20them%3C%2FLI%3E%0A%3CLI%3EMore%20integrated%20components%20from%20our%20ISV%20partners%20are%20coming%20soon!%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F163490i5D9D6E97D82698E6%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22clipboard_image_0.png%22%20title%3D%22clipboard_image_0.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EFor%20more%20info%2C%20see%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fazure%2Fdata-factory%2Fhow-to-configure-azure-ssis-ir-custom-setup%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fazure%2Fdata-factory%2Fhow-to-configure-azure-ssis-ir-custom-setup%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20hope%20you%E2%80%99ll%20find%20these%20express%20custom%20setups%20useful%20and%20please%20don%E2%80%99t%20hesitate%20to%20contact%20us%20if%20you%20have%20any%20feedbacks%2Fquestions%2Fissues%20on%20using%20them%20or%20suggestions%20for%20more%20common%2Fpopular%20custom%20setups%20to%20integrate%20into%20SSIS%20IR.%26nbsp%3B%20Thank%20you%20as%20always%20for%20your%20support.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-1084779%22%20slang%3D%22en-US%22%3E%3CP%3EExpress%20custom%20setups%20are%20common%2Fpopular%2Fselected%20custom%20setups%20that%20have%20been%20deeply%20integrated%20into%20SSIS%20IR%2C%20such%20that%20you%20need%20not%20prepare%20any%20scripts%20to%20configure%20them%20nor%20bring%20your%20own%20blob%20container%20in%20Azure%20Storage%20to%20store%20associated%20files.%26nbsp%3B%20It%E2%80%99s%20as%20simple%20as%20selecting%20your%20express%20custom%20setup%20types%20when%20provisioning%20SSIS%20IR%20and%20entering%20the%20values%20for%20relevant%20custom%20setup%20arguments.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-TEASER%3E
Microsoft

SQL Server Integration Services (SSIS) as an on-premises ETL platform has been around for a very long time – more than 15 years I believe – an eternity in the Internet/cloud computing age.  During that time, a lot of investments have been made to extend its data extraction/transformation/ingestion capabilities with additional components beyond the built-in ones that are bundled with SQL Server. 

 

These additional components come out-of-the-box to be downloaded separately and installed on local/production machines for designing SSIS packages/running SSIS workloads.  They include:

 

  • Advanced/premium components for SSIS Enterprise Edition
  • Privately built custom components that serve enterprise-specific purposes
  • Publicly shared Open Source components that are developed by SSIS user community
  • Commercially licensed/sold components that are developed by our ISV partners/other 3rd parties

 

Custom Setup Interface for SSIS IR

In 2018, when we released SSIS as an ETL Platform as a Service (PaaS) in Azure Data Factory (ADF), we made sure that all these additional components can still be installed on SSIS Integration Runtime (IR) – dedicated ADF servers for running SSIS workloads – via a custom setup interface, see https://techcommunity.microsoft.com/t5/SQL-Server-Integration-Services/Enterprise-Edition-Custom-Set....

 

The custom setup interface provides almost limitless possibilities to customize your SSIS IR – Essentially, anything you can install on your SSIS machine on premises, you can also install on SSIS IR using this interface.  Unfortunately, with great flexibility comes great complexity, as this interface requires you to do the following:

 

  • Prepare your own custom setup script (main.cmd) + associated files
  • Bring your own Azure Storage account to store your custom setup script + associated files + setup execution logs in a blob container
  • Prepare your Shared Access Signature (SAS) Uniform Resource Identifier (URI) for your blob container with a sufficiently long expiry time and read + write + list permissions
  • Ensure that your SAS URI and custom setup resources are always available during the whole lifecycle of your SSIS IR

 

After a period of time, we noticed that there are common/popular custom setups that are repeatedly configured by many users when they provision their SSIS IR, so we’ve decided to make life a little bit easier for them and those who follow them later by introducing express custom setups.

 

Express Custom Setups for SSIS IR

Express custom setups are common/popular/selected custom setups that have been deeply integrated into SSIS IR, such that you need not prepare any scripts to configure them nor bring your own blob container in Azure Storage to store associated files.  It’s as simple as selecting your express custom setup types when provisioning SSIS IR and entering the values for relevant custom setup arguments.  At the time of writing, we’ve released the following express custom setup types:

 

  1. Run cmdkey command, where you can persist access credentials for your file shares/Azure Files on SSIS IR by entering your targeted computer/domain names, account names/usernames, and account keys/passwords
  2. Add environment variable, where you can add Windows environment variables to use in your packages that run on SSIS IR by entering your environment variable names and values
  3. Install licensed component, where you can then select any integrated components from our ISV partners, e.g.:
    1. SentryOne's Task Factory to install the Task Factory suite of components from SentryOne on your SSIS IR by entering the product license key that you purchased from them
    2. oh22's HEDDA.IO to install the HEDDA.IO data quality/cleansing component from oh22 on your SSIS IR after purchasing their service
    3. oh22's SQLPhonetics.NET to install the SQLPhonetics.NET data quality/matching component from oh22 on your SSIS IR by entering the product license key that you purchased from them
    4. More integrated components from our ISV partners are coming soon!

 

clipboard_image_0.png

 

For more info, see https://docs.microsoft.com/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup.

 

I hope you’ll find these express custom setups useful and please don’t hesitate to contact us if you have any feedbacks/questions/issues on using them or suggestions for more common/popular custom setups to integrate into SSIS IR.  Thank you as always for your support.