Skip to content

Commit 59bf155

Browse files
committed
update migration scenario
1 parent 4c2042a commit 59bf155

File tree

4 files changed

+226
-64
lines changed

4 files changed

+226
-64
lines changed

articles/data-factory/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,8 +1050,8 @@ items:
10501050
items:
10511051
- name: SSIS migration overview
10521052
href: scenario-ssis-migration-overview.md
1053-
- name: SSISDB migration to Azure SQL Managed Instance
1054-
href: scenario-ssis-migration-ssisdb-mi.md
1053+
- name: SSIS migration assessment rules
1054+
href: scenario-ssis-migration-rules.md
10551055
- name: SAP knowledge center
10561056
items:
10571057
- name: Overview

articles/data-factory/scenario-ssis-migration-overview.md

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ ms.author: chugu
66
ms.service: data-factory
77
ms.subservice: integration-services
88
ms.topic: conceptual
9-
ms.date: 10/22/2021
9+
ms.date: 07/07/2022
1010
---
1111

12-
# Migrate on-premises SSIS workloads to SSIS in ADF
12+
# Migrate on-premises SSIS workloads to SSIS in ADF or Synapse Pipelines
1313

14-
[!INCLUDE[appliesto-adf-xxx-md](includes/appliesto-adf-xxx-md.md)]
14+
[!INCLUDE[appliesto-adf-asa-preview-md](includes/appliesto-adf-asa-preview-md.md)]
1515

1616
## Overview
1717

1818
When you migrate your database workloads from SQL Server on premises to Azure database services, namely Azure SQL Database or Azure SQL Managed Instance, your ETL workloads on SQL Server Integration Services (SSIS) as one of the primary value-added services will need to be migrated as well.
1919

20-
Azure-SSIS Integration Runtime (IR) in Azure Data Factory (ADF) supports running SSIS packages. Once Azure-SSIS IR is provisioned, you can then use familiar tools, such as SQL Server Data Tools (SSDT)/SQL Server Management Studio (SSMS), and command-line utilities, such as dtinstall/dtutil/dtexec, to deploy and run your packages in Azure. For more info, see [Azure SSIS lift-and-shift overview](/sql/integration-services/lift-shift/ssis-azure-lift-shift-ssis-packages-overview).
20+
Azure-SSIS Integration Runtime (IR) in Azure Data Factory (ADF) or Synapse Pipelines supports running SSIS packages. Once Azure-SSIS IR is provisioned, you can then use familiar tools, such as SQL Server Data Tools (SSDT)/SQL Server Management Studio (SSMS), and command-line utilities, such as dtinstall/dtutil/dtexec, to deploy and run your packages in Azure. For more info, see [Azure SSIS lift-and-shift overview](/sql/integration-services/lift-shift/ssis-azure-lift-shift-ssis-packages-overview).
2121

2222
This article highlights migration process of your ETL workloads from on-premises SSIS to SSIS in ADF. The migration process consists of two phases: **Assessment** and **Migration**.
2323

@@ -31,6 +31,8 @@ Data Migration Assistant (DMA) is a freely downloadable tool for this purpose th
3131

3232
- Informative issues: partially supported or deprecated features that are used in source packages. DMA provides a comprehensive set of recommendations, alternative approaches available in Azure, and mitigating steps to resolve.
3333

34+
You get detail list of migration blockers and informative issues here.
35+
3436
### Four storage types for SSIS packages
3537

3638
- SSIS catalog (SSISDB). Introduced with SQL Server 2012 and contains a set of stored procedures, views, and table-valued functions used for working with SSIS projects/packages.
@@ -42,7 +44,7 @@ Data Migration Assistant (DMA) is a freely downloadable tool for this purpose th
4244

4345
DMA currently supports the batch-assessment of packages stored in **File System**, **Package Store**, and **SSIS catalog** since **DMA version v5.0**.
4446

45-
Get [DMA](/sql/dma/dma-overview), and [perform your package assessment with it](/sql/dma/dma-assess-ssis).
47+
Get [DMA](/sql/dma/dma-overview), and [perform your package assessment with it](/sql/dma/dma-assess-ssis).
4648

4749
## Migration
4850

@@ -53,31 +55,19 @@ Depending on the [storage types](#four-storage-types-for-ssis-packages) of sourc
5355

5456
It is also a practical way to use [SSIS DevOps Tools](/sql/integration-services/devops/ssis-devops-overview), to do batch package redeployment to the migration destination.
5557

56-
### **Azure SQL Managed Instance** as database workload destination
57-
58-
| **Package storage type** |How to batch-migrate SSIS packages|How to batch-migrate SSIS jobs|
59-
|-|-|-|
60-
|SSISDB|<li> Redeploy packages via SSDT/SSMS to SSISDB hosted in Azure Managed Instance. For more info, see [Deploying SSIS packages in Azure](/sql/integration-services/lift-shift/ssis-azure-deploy-run-monitor-tutorial). <li> [Migrate **SSISDB**](scenario-ssis-migration-ssisdb-mi.md)|<li>[Migrate SSIS jobs to Azure SQL Managed Instance agent](scenario-ssis-migration-ssisdb-mi.md#ssis-jobs-to-sql-managed-instance-agent) <li>Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
61-
|File System|Redeploy them to file shares/Azure Files via dtinstall/dtutil/manual copy, or to keep in file systems to access via VNet/Self-Hosted IR. For more info, see [dtutil utility](/sql/integration-services/dtutil-utility).|<li>[Migrate SSIS jobs to Azure SQL Managed Instance agent](scenario-ssis-migration-ssisdb-mi.md#ssis-jobs-to-sql-managed-instance-agent) <li> Migrate with [SSIS Job Migration Wizard in SSMS](how-to-migrate-ssis-job-ssms.md) <li>Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
62-
|SQL Server (MSDB)|Export them to file systems/file shares/Azure Files via SSMS/dtutil. For more info, see [Exporting SSIS packages](/sql/integration-services/service/package-management-ssis-service#import-and-export-packages).|Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
63-
|Package Store|Export them to package store via SSMS/dtutil or redeploy them to package store via dtinstall/dtutil/manual copy. For more info, see [Manage packages with Azure-SSIS Integration Runtime package store](azure-ssis-integration-runtime-package-store.md).|<li>[Migrate SSIS jobs to Azure SQL Managed Instance agent](scenario-ssis-migration-ssisdb-mi.md#ssis-jobs-to-sql-managed-instance-agent) <li> Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
64-
65-
### **Azure SQL Database** as database workload destination
66-
67-
| **Package storage type** |How to batch-migrate SSIS packages|How to batch-migrate jobs|
58+
| **Package storage type** |How to migrate SSIS packages|How to migrate SSIS jobs|
6859
|-|-|-|
69-
|SSISDB|Redeploy packages via SSDT/SSMS to SSISDB hosted in Azure SQL Database. For more info, see [Deploying SSIS packages in Azure](/sql/integration-services/lift-shift/ssis-azure-deploy-run-monitor-tutorial).|Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
70-
|File System|Redeploy them to file shares/Azure Files via dtinstall/dtutil/manual copy, or to keep in file systems to access via VNet/Self-Hosted IR. For more info, see [dtutil utility](/sql/integration-services/dtutil-utility).|<li> Migrate with [SSIS Job Migration Wizard in SSMS](how-to-migrate-ssis-job-ssms.md) <li> Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
60+
|SSISDB|Redeploy packages via SSDT/SSMS to SSISDB hosted in Azure Managed Instance. For more info, see [Deploying SSIS packages in Azure](/sql/integration-services/lift-shift/ssis-azure-deploy-run-monitor-tutorial). |<li> Migrate from SQL Server Agent on premises to SQL Managed Instance agent via scripts/manual copy. For more info, see [run SSIS packages via Azure SQL Managed Instance Agent](how-to-invoke-ssis-package-managed-instance-agent.md) <li>Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
61+
|File System|Redeploy them to file shares/Azure Files via dtinstall/dtutil/manual copy, or to keep in file systems to access via VNet/Self-Hosted IR. For more info, see [dtutil utility](/sql/integration-services/dtutil-utility).|<li>Migrate from SQL Server Agent on premises to SQL Managed Instance agent via scripts/manual copy. For more info, see [run SSIS packages via Azure SQL Managed Instance Agent](how-to-invoke-ssis-package-managed-instance-agent.md) <li> Migrate with [SSIS Job Migration Wizard in SSMS](how-to-migrate-ssis-job-ssms.md) <li>Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
7162
|SQL Server (MSDB)|Export them to file systems/file shares/Azure Files via SSMS/dtutil. For more info, see [Exporting SSIS packages](/sql/integration-services/service/package-management-ssis-service#import-and-export-packages).|Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
72-
|Package Store|Export them to file systems/file shares/Azure Files via SSMS/dtutil or redeploy them to file shares/Azure Files via dtinstall/dtutil/manual copy or keep them in file systems to access via VNet/Self-Hosted IR. For more info, see dtutil utility. For more info, see [dtutil utility](/sql/integration-services/dtutil-utility).|Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
63+
|Package Store|Export them to package store via SSMS/dtutil or redeploy them to package store via dtinstall/dtutil/manual copy. For more info, see [Manage packages with Azure-SSIS Integration Runtime package store](azure-ssis-integration-runtime-package-store.md).|<li>Migrate from SQL Server Agent on premises to SQL Managed Instance agent via scripts/manual copy. For more info, see [run SSIS packages via Azure SQL Managed Instance Agent](how-to-invoke-ssis-package-managed-instance-agent.md) <li> Convert them into ADF pipelines/activities/triggers via scripts/SSMS/ADF portal. For more info, see [SSMS scheduling feature](/sql/integration-services/lift-shift/ssis-azure-schedule-packages-ssms).|
7364

7465
## Additional resources
7566

7667
- [Azure Data Factory](./introduction.md)
7768
- [Database Migration Assistant](/sql/dma/dma-overview)
7869
- [Lift and shift SSIS workloads to the cloud](/sql/integration-services/lift-shift/ssis-azure-lift-shift-ssis-packages-overview)
7970
- [SSIS DevOps Tools](/sql/integration-services/devops/ssis-devops-overview)
80-
- [Migrate SSIS packages to Azure SQL Managed Instance](../dms/how-to-migrate-ssis-packages-managed-instance.md)
8171
- [Redeploy packages to Azure SQL Database](../dms/how-to-migrate-ssis-packages.md)
8272

8373
- [On-premises data access from Azure-SSIS Integration Runtime](https://techcommunity.microsoft.com/t5/sql-server-integration-services/vnet-or-no-vnet-secure-data-access-from-ssis-in-azure-data/ba-p/1062056)
Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
---
2+
title: On-premises SQL Server Integration Services (SSIS) workloads to SSIS in Azure Data Factory (ADF) or Synapse Pipelines migration rules
3+
description: SSIS workloads migration assessment rules.
4+
author: chugugrace
5+
ms.author: chugu
6+
ms.service: data-factory
7+
ms.subservice: integration-services
8+
ms.topic: conceptual
9+
ms.date: 07/07/2022
10+
---
11+
12+
# SSIS migration assessment rules
13+
14+
[!INCLUDE[appliesto-adf-asa-preview-md](includes/appliesto-adf-asa-preview-md.md)]
15+
16+
When planning a migration of on-premises SSIS to SSIS in Azure Data Factory (ADF) or Synapse Pipelines, assessment will help identify issues with the source SSIS packages that would prevent a successful migration.
17+
18+
[Data Migration Assistant (DMA) for Integration Services](/sql/dma/dma-assess-ssis) can perform assessment of your project, and below are full list of potential issues, known as DMA rules as well.
19+
20+
### [1001]Connection with host name may fail
21+
22+
**Impact**
23+
24+
Connection that contains host name may fail, typically because the Azure virtual network requires the correct configuration to support DNS name resolution.</Impact>
25+
26+
**Recommendation**
27+
28+
You can use below options for SSIS Integration runtime to access these resources:
29+
30+
- [Join Azure-SSIS IR to a virtual network that connects to on-premise sources](/azure/data-factory/join-azure-ssis-integration-runtime-virtual-network)
31+
- Migrate your data to Azure and use Azure resource endpoint.
32+
- Use Managed Identity authentication if moving to Azure resources.
33+
- [Use self-hosted IR to connect on-premise sources](/azure/data-factory/self-hosted-integration-runtime-proxy-ssis).
34+
35+
### [1002]Connection with absolute or UNC path might not be accessible
36+
37+
Impact
38+
39+
Connection that contains absolute or UNC path may fail
40+
41+
Recommendation
42+
43+
You can use below options for SSIS Integration runtime to access these resources:
44+
45+
- [Change to %TEMP%](/azure/data-factory/ssis-azure-files-file-shares)
46+
- [Migrate your files to Azure Files](/azure/data-factory/ssis-azure-files-file-shares)
47+
- [Join Azure-SSIS IR to a virtual network that connects to on-premise sources](/azure/data-factory/join-azure-ssis-integration-runtime-virtual-network).
48+
- [Use self-hosted IR to connect on-premise sources](/azure/data-factory/self-hosted-integration-runtime-proxy-ssis).
49+
50+
### [1003]Connection with Windows authentication may fail
51+
52+
Impact
53+
54+
If a connection string uses Windows authentication, it may fail. Windows authentication requires additional configuration steps in Azure.
55+
56+
Recommendation
57+
58+
There are [four methods to access data stores Windows authentication in Azure SSIS integration runtime](/sql/integration-services/lift-shift/ssis-azure-connect-with-windows-auth):
59+
60+
- Set up an activity-level execution context
61+
- Set up a catalog-level execution context
62+
- Persist credentials via cmdkey command
63+
- Mount drives at package execution time (non-persistent)
64+
65+
### [1004]Connection with non built-in provider or driver may fail
66+
67+
Impact
68+
69+
Azure-SSIS IR only includes built-in providers or drivers by default. Without customization to install the provider or driver, the connection may fail.
70+
71+
Recommendation
72+
73+
[Customize Azure-SSIS integration runtime](/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) to install non built-in provider or driver.
74+
75+
### [1005]Analysis Services Connection Manager cannot use an account with MFA enabled
76+
77+
Impact
78+
79+
If you use SSIS in Azure Data Factory (ADF) and want to connect to Azure Analysis Services (AAS) instance, you cannot use an account with Multi-Factor Authentication (MFA) enabled.
80+
81+
Recommendation
82+
83+
Use an account that doesn't require any interactivity/MFA or a service principal instead.
84+
85+
AdditionalInformation
86+
87+
[Configuration of the Analysis Services Connection Manager](/sql/integration-services/connection-manager/analysis-services-connection-manager)
88+
89+
### [1006]Windows environment variable in Connection Manager is discovered
90+
91+
Impact
92+
93+
Connection Manager using Windows environment variable is discovered.
94+
95+
Recommendation
96+
97+
You can use below methods to have Windows environment variables working in SSIS Integration runtime:
98+
99+
- [Customize SSIS integration runtime setup](/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) with Windows environment variables.
100+
- [Use Package or Project Parameter](/sql/integration-services/integration-services-ssis-package-and-project-parameters).
101+
102+
### [1007]SQL Server Native Client (SNAC) OLE DB driver is deprecated
103+
104+
Recommendation
105+
106+
[Use latest Microsoft OLE DB Driver](/sql/connect/oledb/oledb-driver-for-sql-server)
107+
108+
### [2001]Component only supported in enterprise edition
109+
110+
Impact
111+
112+
The component is only supported in Azure SSIS integration runtime enterprise edition.
113+
114+
Recommendation
115+
116+
[Configure Azure SSIS integration runtime to enterprise edition](/azure/data-factory/how-to-configure-azure-ssis-ir-enterprise-edition).
117+
118+
### [2002]ORC and Parquet file format aren't by default enabled
119+
120+
Impact
121+
122+
ORC and Parquet file format need JRE, which isn't by default installed in Azure SSIS integration runtime.</Impact>
123+
124+
Recommendation
125+
126+
Install compatible JRE by [customize setup for the Azure-SSIS integration runtime](/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup).
127+
128+
### [2003]Third party component isn't by default enabled
129+
130+
Impact
131+
132+
Azure SSIS Integration Runtime isn't by default enabled with third party components. Third party component may fail.
133+
134+
Recommendation
135+
136+
- Contact the third party to get an SSIS Integration runtime compatible version.
137+
138+
- For in-house or open source component, [customize Azure-SSIS integration runtime](/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) to install necessary SQL Server 2017 compatible components.
139+
140+
### [2004]Azure Blob source and destination is discovered
141+
142+
Recommendation
143+
144+
Recommend to use [Flexible File source](/sql/integration-services/data-flow/flexible-file-source) or [destination](/sql/integration-services/data-flow/flexible-file-destination), which has more advanced functions than Azure Blob.
145+
146+
### [2005]Non built-in log provider may not be installed by default
147+
148+
Impact
149+
150+
Azure SSIS integration time is provisioned with built-in log providers by default only, customize log provider may fail.
151+
152+
Recommendation
153+
154+
[Customize Azure-SSIS integration runtime](/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) to install non built-in provider or driver.
155+
156+
### [3001]Absolute or UNC path is discovered in Execute Process Task
157+
158+
Impact
159+
160+
Azure-SSIS Integration Runtime might not be able to launch your executable(s) with absolute or UNC path.</Impact>
161+
162+
Recommendation
163+
164+
You can use below options for SSIS Integration runtime to launch your executable(s):
165+
166+
- [Migrate your executable(s) to Azure Files](/azure/data-factory/ssis-azure-files-file-shares).
167+
- [Join Azure-SSIS IR to a virtual network](/azure/data-factory/join-azure-ssis-integration-runtime-virtual-network) that connects to on-premise sources.
168+
- If necessary, [customize setup script to install your executable(s)](/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup) in advance when starting IR.
169+
170+
### [4001]Absolute or UNC configuration path is discovered in package configuration
171+
172+
Impact
173+
174+
Package with absolute or UNC configuration path may fail in Azure SSIS Integration Runtime.
175+
176+
Recommendation
177+
178+
You can use below options for SSIS Integration runtime to access these resources:
179+
180+
- [Migrate your files to Azure Files](/azure/data-factory/ssis-azure-files-file-shares)
181+
- [Join Azure-SSIS IR to a virtual network that connects to on-premise sources](/azure/data-factory/join-azure-ssis-integration-runtime-virtual-network).
182+
- [Use self-hosted IR to connect on-premise sources](/azure/data-factory/self-hosted-integration-runtime-proxy-ssis).
183+
184+
### [4002]Registry entry is discovered in package configuration
185+
186+
Impact
187+
188+
Registry entry in package configuration may fail in Azure SSIS Integration Runtime.
189+
190+
Recommendation
191+
192+
Use other package configuration types. XML configuration file is recommended.
193+
194+
Additional Information
195+
196+
[Package Configurations](/sql/integration-services/package-configurations)
197+
198+
### [4003]Package encrypted with user key isn't supported
199+
200+
Impact
201+
202+
Package encrypted with user key isn't supported in Azure SSIS Integration Runtime.
203+
204+
Recommendation
205+
206+
You can use below options:
207+
208+
- Change the package protection level to "Encrypt All With Password" or "Encrypt Sensitive With Password".
209+
- Keep or change the package protection level to "Encrypt Sensitive With User Key", override connection manager property during package execution
210+
211+
Additional Information
212+
213+
[Access Control for Sensitive Data in Packages](/sql/integration-services/security/access-control-for-sensitive-data-in-packages)

0 commit comments

Comments
 (0)