The Azure-SSIS Integration Runtime is a fully managed cluster of Azure VMs dedicated to run your SSIS packages. You can bring your own Azure SQL Database or SQL Managed Instance for the catalog of SSIS projects/packages (SSISDB).
To lift and shift existing SSIS workload, you can create an Azure-SSIS IR to natively execute SSIS packages.
An Azure-SSIS IR supports:
After an Azure-SSIS IR is provisioned, you can use familiar tools to deploy and run your packages in Azure.
It is recommended that you create the database server in the same Azure region as the integration runtime. This configuration lets the integration runtime write execution logs into SSISDB without crossing Azure regions.
# Azure-SSIS Integration Runtime info;
$AzureSSISName = "[your Azure-SSIS IR name]"
$AzureSSISDescription = "[your Azure-SSIS IR description]"
# For supported regions, see https://azure.microsoft.com/en-us/global-infrastructure/services/?products=synapse-analytics®ions=all
$AzureSSISLocation = "EastUS"
# For supported node sizes, see https://azure.microsoft.com/pricing/details/data-factory/ssis/
$AzureSSISNodeSize = "Standard_D8_v3"
# 1-10 nodes are currently supported
$AzureSSISNodeNumber = 2
# Azure-SSIS IR edition/license info: Standard or Enterprise
$AzureSSISEdition = "Standard" # Standard by default, although Enterprise lets you use advanced/premium features on your Azure-SSIS IR
# Azure-SSIS IR hybrid usage info: LicenseIncluded or BasePrice
$AzureSSISLicenseType = "LicenseIncluded" # LicenseIncluded by default, while BasePrice lets you bring your existing SQL Server license with Software Assurance to earn cost savings from Azure Hybrid Benefit (AHB) option
# For a Standard_D1_v2 node, up to 4 parallel executions per node are supported, but for other nodes, up to (2 x number of cores) are currently supported
$AzureSSISMaxParallelExecutionsPerNode = 8
# SSISDB info
$SSISDBServerEndpoint = "[your server name.database.windows.net or managed instance name.public.DNS prefix.database.windows.net,3342 or leave empty if you're not using SSISDB]" # WARNING: If you use SSISDB, please ensure that there is no existing SSISDB on your database server, so we can prepare and manage one on your behalf
$SSISDBServerAdminCredentials = “PS Credentials”
# For the basic pricing tier, specify "Basic", not "B" - For standard/premium/elastic pool tiers, specify "S0", "S1", "S2", "S3", etc., see https://docs.microsoft.com/azure/sql-database/sql-database-resource-limits-database-server
$SSISDBPricingTier = "[Basic|S0|S1|S2|S3|S4|S6|S7|S9|S12|P1|P2|P4|P6|P11|P15|…|ELASTIC_POOL(name = <elastic_pool_name>) for SQL Database or leave it empty for SQL Managed Instance]"
# Custom setup info: Standard/express custom setups
$SetupScriptContainerSasUri = "" # OPTIONAL to provide a SAS URI of blob container for standard custom setup where your script and its associated files are stored
$ExpressCustomSetup = "[RunCmdkey|SetEnvironmentVariable|InstallAzurePowerShell|SentryOne.TaskFactory|oh22is.SQLPhonetics.NET|oh22is.HEDDA.IO|KingswaySoft.IntegrationToolkit|KingswaySoft.ProductivityPack|Theobald.XtractIS|AecorSoft.IntegrationService|CData.Standard|CData.Extended or leave it empty]" # OPTIONAL to configure an express custom setup without script
### Self-hosted integration runtime info - This can be configured as a proxy for on-premises data access
$DataProxyIntegrationRuntimeName = "" # OPTIONAL to configure a proxy for on-premises data access
$DataProxyStagingLinkedServiceName = "" # OPTIONAL to configure a proxy for on-premises data access
$DataProxyStagingPath = "" # OPTIONAL to configure a proxy for on-premises data access
Import-Module Az.Synapse #If module is not installed, try “Install-Module Az.Synapse”
Connect-AzAccount
Please follow the syntax on "Set-AzSynapseIntegrationRuntime"
Set-AzSynapseIntegrationRuntime
-WorkspaceName
-ResourceGroupName
-Type Managed
-Name
-Description
-Location
-NodeSize
-NodeCount
-Edition
-LicenseType
-MaxParallelExecutionsPerNode
-CatalogServerEndpoint
-CatalogAdminCredential
-CatalogPricingTier
PS C:\Users\MyUser> Import-Module Az.Synapse
WARNING: The names of some imported commands from the module 'Az.Synapse' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved
verbs, type Get-Verb.
PS C:\Users\MyUser> Connect-AzAccount
WARNING: TenantId '********-****-****-****-**********' contains more than one active subscription. First one will be selected for further use. To select another subscription, use Set-AzContext.
WARNING: Unable to acquire token for tenant ‘********-****-****-****-**********' with error 'You must use multi-factor authentication to access tenant ********-****-****-****-**********, please rerun 'Connect-AzAccount' with additional parameter '-TenantId ********-****-****-****-**********'.'
Account SubscriptionName TenantId Environment
------- ---------------- -------- -----------
user@microsoft.com My Subscription ********-****-****-****-********** AzureCloud
PS C:\Users\MyUser> Get-AzSynapseWorkspace -WorkspaceName "[WorkspaceName]" -ResourceGroupName "[ResourceGroupName]"
DefaultDataLakeStorage : Microsoft.Azure.Commands.Synapse.Models.PSDataLakeStorageAccountDetails
ManagedResourceGroupName : [ResourceGroupName]
ProvisioningState : Succeeded
SqlAdministratorLogin : [SQLAdminLogin]
VirtualNetworkProfile :
Identity : Microsoft.Azure.Commands.Synapse.Models.PSManagedIdentity
ConnectivityEndpoints : {[web, https://web.azuresynapse.net?workspace=%2fsubscriptions%********-****-****-****-**********%2fresourceGroups%2f[ResourceGroupName]%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2f[ResourceGroupName], [dev,https://[WorkspaceName].dev.azuresynapse.net], [sqlOnDemand, [WorkspaceName]-ondemand.sql.azuresynapse.net], [sql, [WorkspaceName].sql.azuresynapse.net]}
ManagedVirtualNetwork :
PrivateEndpointConnections : {}
WorkspaceUID : ********-****-****-****-**********
ExtraProperties : {[WorkspaceType, Normal], [IsScopeEnabled, False]}
ManagedVirtualNetworkSettings :
Encryption : Microsoft.Azure.Commands.Synapse.Models.PSEncryptionDetails
WorkspaceRepositoryConfiguration :
Tags : {}
TagsTable :
Location : [Region]
Id : /subscriptions/********-****-****-****-**********/resourceGroups/[ResourceGroupName]/providers/Microsoft.Synapse/workspaces/[WorkspaceName]
Name : [WorkspaceName]
Type : Microsoft.Synapse/workspaces
PS C:\Users\MyUser> $AzureSSISName = "MySSISIRinSynapse"
PS C:\Users\MyUser> $AzureSSISDescription = "Azure SSIS IR created using PowerShell in Azure Synapse Workspace"
PS C:\Users\MyUser> $AzureSSISLocation = "EastUS"
PS C:\Users\MyUser> $AzureSSISNodeSize = "Standard_D8_v3"
PS C:\Users\MyUser> $AzureSSISNodeNumber = 2
PS C:\Users\MyUser> $AzureSSISEdition = "Standard"
PS C:\Users\MyUser> $AzureSSISLicenseType = "LicenseIncluded"
PS C:\Users\MyUser> $AzureSSISMaxParallelExecutionsPerNode = 8
PS C:\Users\MyUser> $SSISDBServerEndpoint = "[SQLServer].database.windows.net"
PS C:\Users\MyUser> $SSISDBServerAdminCredentials = (Get-Credential)
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Credential
PS C:\Users\MyUser> $SSISDBPricingTier = "Basic"
PS C:\Users\MyUser> Set-AzSynapseIntegrationRuntime -WorkspaceName "ccalderasynapseworkspace" -ResourceGroupName "ccalderasynapseworkspacerg" -Type Managed -Name $AzureSSISName -Description $AzureSSISDescription -Location $AzureSSISLocation -NodeSize $AzureSSISNodeSize -NodeCount $AzureSSISNodeNumber -Edition $AzureSSISEdition -LicenseType $AzureSSISLicenseType -MaxParallelExecutionsPerNode $AzureSSISMaxParallelExecutionsPerNode -CatalogServerEndpoint $SSISDBServerEndpoint -CatalogAdminCredential $SSISDBServerAdminCredentials -CatalogPricingTier $SSISDBPricingTier
Location : EastUS
NodeSize : Standard_D8_v3
NodeCount : 2
MaxParallelExecutionsPerNode : 8
CatalogServerEndpoint : [SQLServer].database.windows.net
CatalogAdminUserName : [SQLDBAdminUser]
CatalogAdminPassword : **********
CatalogPricingTier : Basic
VNetId :
Subnet :
PublicIPs :
DataFlowCoreCount :
DataFlowComputeType :
DataFlowTimeToLive :
State : Initial
LicenseType : LicenseIncluded
SetupScriptContainerSasUri :
DataProxyIntegrationRuntimeName :
DataProxyStagingLinkedServiceName :
DataProxyStagingPath :
Edition : Standard
ExpressCustomSetup :
Name : MySSISIRinSynapse
Type : Managed
ResourceGroupName : [ResourceGroupName]
WorkspaceName : [WorkspaceName]
Description : Azure SSIS IR created using PowerShell in Azure Synapse Workspace
Id : /subscriptions/********-****-****-****-**********/resourceGroups/[ResourceGroupName]/providers/Microsoft.Synapse/workspaces/[WorkspaceName]/integrationruntimes/MySSISIRinSynapse
Once the Azure SSIS IR is successfully created, the new SSIS IR will be listed on "Integration runtimes" in Azure Synapse Analytics workspace -
Please follow the syntax on "Start-AzSynapseIntegrationRuntime"
Start-AzSynapseIntegrationRuntime
-WorkspaceName
-ResourceGroupName
-IntegrationRuntimeName
PS C:\Users\MyUser> Start-AzSynapseIntegrationRuntime -WorkspaceName "[WorkspaceName]" -ResourceGroupName "[ResourceGroupName]" -IntegrationRuntimeName "MySSISIRinSynapse"
Confirm
An integration runtime with the name MySSISIRinSynapse in the workspace ccalderasynapseworkspace exists.
Continuing execution may overwrite the existing one.
Are you sure you want to continue?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
CreateTime : 2/22/2022 5:37:09 AM
Nodes : {}
OtherErrors : {}
LastOperation :
State : Started
Location : EastUS
NodeSize : Standard_D8_v3
NodeCount : 2
MaxParallelExecutionsPerNode : 8
CatalogServerEndpoint : [SQLServer].database.windows.net
CatalogAdminUserName : [SQLDBAdminUser]
CatalogAdminPassword : **********
CatalogPricingTier : Basic
VNetId :
Subnet :
PublicIPs :
DataFlowCoreCount :
DataFlowComputeType :
DataFlowTimeToLive :
LicenseType : LicenseIncluded
SetupScriptContainerSasUri :
DataProxyIntegrationRuntimeName :
DataProxyStagingLinkedServiceName :
DataProxyStagingPath :
Edition : Standard
ExpressCustomSetup :
Name : MySSISIRinSynapse
Type : Managed
ResourceGroupName : [ResourceGroupName]
WorkspaceName : [WorkspaceName]
Description : Azure SSIS IR created using PowerShell in Azure Synapse Workspace
Id : /subscriptions/********-****-****-****-**********/resourceGroups/[ResourceGroupName]/providers/Microsoft.Synapse/workspaces/[WorkspaceName]/integrationruntimes/MySSISIRinSynapse
If the deployment fails with a error, please refer "Troubleshoot SSIS Integration Runtime management" for more information.
Additional Information:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.