你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将本地 SSIS 工作负载迁移到 ADF 或 Synapse 管道中的 SSIS
适用于: Azure 数据工厂 Azure Synapse Analytics
提示
试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用!
概述
将数据库工作负荷从本地 SQL Server 迁移到 Azure 数据库服务(即 Azure SQL 数据库或 Azure SQL 托管实例)时,也需要迁移 SQL Server Integration Services (SSIS)(主要的增值服务之一)上的 ETL 工作负荷。
Azure 数据工厂 (ADF) 或 Synapse 管道中的 Azure-SSIS Integration Runtime (IR) 支持运行 SSIS 包。 预配 Azure-SSIS IR 后,可以使用熟悉的工具(例如 SQL Server Data Tools (SSDT)/SQL Server Management Studio (SSMS),以及 dtinstall/dtutil/dtexec 等命令行实用工具)在 Azure 中部署和运行包。 有关详细信息,请参阅 Azure SSIS 直接迁移概述。
本文重点介绍将 ETL 工作负荷从本地 SSIS 迁移到 ADF 中的 SSIS 的过程。 迁移过程包括两个阶段:评估和迁移。
重要
数据迁移助手 (DMA) 已弃用。 有关详细信息,请参阅 DMA 产品文档。
评估
若要建立完整的迁移计划,可以进行全面的评估,以帮助识别源 SSIS 包中存在的会妨碍成功迁移的问题。
数据迁移助手 (DMA) 是一个可免费下载的工具,可在本地安装和执行以实现此目的。 可以创建“Integration Services”类型的 DMA 评估项目来分批评估 SSIS 包,并识别以下类别的兼容性问题:
迁移阻碍因素:阻碍迁移源包在 Azure-SSIS IR 上运行的兼容性问题。 DMA 将提供指导来帮助你解决这些问题。
信息性问题:源包中使用的部分受支持的或已弃用的功能。 DMA 将提供全面的建议、Azure 中可用的替代方法和缓解步骤来解决这些问题。
在此处获取迁移阻碍因素和信息性问题的详细信息列表。
SSIS 包的四种存储类型
- SSIS 目录 (SSISDB)。 在 SQL Server 2012 中引入,其中包含一组用于处理 SSIS 项目/包的存储过程、视图和表值函数。
- 文件系统。
- SQL Server 系统数据库 (MSDB)。
- SSIS 包存储。 位于两个子类型之上的包管理层:
- MSDB:SQL Server 中用于存储 SSIS 包的系统数据库。
- 托管文件系统:SQL Server 安装路径中用于存储 SSIS 包的特定文件夹。
DMA 当前支持对自 DMA 版本 5.0 以来存储在文件系统、包存储和 SSIS 目录中的包进行批量评估。
迁移
根据源 SSIS 包的存储类型,迁移 SSIS 包的步骤与迁移计划 SSIS 包执行的 SQL 服务器代理作业的步骤可能不同。
这也是使用 SSIS DevOps 工具的实用方法,可以执行批处理包重新部署到迁移目标。
包存储类型 | 如何迁移 SSIS 包 | 如何迁移 SSIS 作业 |
---|---|---|
SSISDB | 通过 SSDT/SSMS 将包重新部署到托管在 Azure SQL 或 SQL 托管实例中的 SSISDB。 有关详细信息,请参阅在 Azure 中部署 SSIS 包。 | |
文件系统 | 通过 dtinstall/dtutil/手动复制将其重新部署到文件共享/Azure 文件,或将其保留在文件系统中,以通过 VNet/自承载 IR 进行访问。 有关详细信息,请参阅 dtutil 实用工具。 | |
SQL Server (MSDB) | 通过 SSMS/dtutil 将其导出到文件系统/文件共享/Azure 文件。 有关详细信息,请参阅导出 SSIS 包。 | 通过脚本/SSMS/ADF 门户将其转换为 ADF 管道/活动/触发器。 有关详细信息,请参阅 SSMS 计划功能。 |
包存储 | 通过 SSMS/dtutil 将它们导出到包存储,或通过 dtinstall/dtutil/手动复制将它们重新部署到包存储。 有关详细信息,请参阅使用 Azure-SSIS Integration Runtime 包存储来管理包。 |