SSIS 迁移至 Microsoft Fabric ― 四象限评估法
12 Nov 2026|10 分钟阅读|
0|
0

Table of Contents
SSIS 迁移至 Microsoft Fabric:四象限评估法
本指南的目标
- 理清 SSIS 与 SQL Server 相关的关键时间节点
- 用四象限评估法为每个 SSIS 包确定迁移方式
- 给出分步骤的迁移流程与对账方法
- 列出脚本任务、SCD、排序规则、中文编码等难点的处理方式
- 介绍 Pulse Convert 如何自动化重构(初始自动转换准确率 70%~90%)
- 联系邮箱:Admin@innovationalofficesolution.com
一、关键时间节点
| 事件 | 日期 |
|---|---|
| SSIS 的 Microsoft Connector for Oracle 停止支持 | 2025 年 7 月 4 日 |
| Fabric Data Factory 推出 Invoke SSIS Package(预览) | 2026 年 3 月 |
| SQL Server 2016 扩展支持结束 | 2026 年 7 月 14 日 |
| SQL Server 2017 扩展支持结束 | 2027 年 10 月 12 日 |
Oracle 连接器在 SQL Server 2025 中同样不受支持,Microsoft 建议的替代方案是 ADO.NET,但在向 Oracle 大批量写入时速度明显较慢。对于仍在 SQL Server 2016 上运行 SSIS 的企业,继续使用意味着购买付费的扩展安全更新,或者再做一次版本升级。
二、两种迁移方式
方式 A:直接运行
通过 Fabric Data Factory 的 Invoke SSIS Package 活动,把 .dtsx 包存放到 OneLake,由 Fabric 管道直接调用,无需改写,也无需单独管理集成运行时。适合尽快下线 ETL 服务器。需要注意:预览期间,该活动无法连接本地或私有终结点后的数据源。
方式 B:重构
把包的逻辑转换为 Fabric 原生组件:
- 控制流 → Data Factory 管道
- 仅复制数据的数据流 → 复制活动或 Copy job
- 含转换逻辑的数据流 → Dataflow Gen2 或 PySpark Notebook
- SCD 组件 → Delta 表上的 MERGE
- 脚本任务 → PySpark 或管道标准活动
三、四象限评估法
把每个 SSIS 包按两个维度打分:技术复杂度(组件数量、脚本任务、自定义组件、依赖层级)与业务重要性(下游报表、运行频率、对月结或监管的影响)。
| 象限 | 特征 | 建议方式 |
|---|---|---|
| 一:低复杂度、高重要性 | 逻辑简单,但支撑核心报表 | 优先重构,快速获得 Fabric 原生的性能与可维护性 |
| 二:高复杂度、高重要性 | 含脚本任务与多层依赖,影响月结 | 重构,安排专家深度参与,并行运行时间最长 |
| 三:低复杂度、低重要性 | 简单搬运,使用频率低 | 直接运行(方式 A),或评估是否下线 |
| 四:高复杂度、低重要性 | 逻辑复杂但几乎无人使用 | 先确认是否仍需要,多数情况下下线 |
另外,凡是需要访问本地数据源的包,在预览期内无法采用方式 A,应直接归入重构。
四、迁移步骤
第 1 步:从 SSISDB 目录与文件系统导出全部 .dtsx 包
第 2 步:结合 SQL Server 代理作业历史,统计每个包的运行频率、时长与失败率
第 3 步:解析父子包调用、优先约束与表级读写关系,绘制血缘图
第 4 步:按四象限评估法为每个包打分并确定迁移方式
第 5 步:在 OneLake 中按 Bronze、Silver、Gold 设计数据分层
第 6 步:执行迁移,方式 A 的包配置管道调用,方式 B 的包进行重构
第 7 步:新旧流程并行运行至少一个月结周期,比对目标表行数、金额合计、主键差异与拒绝记录数
第 8 步:停用 SQL Server 代理作业,下线 ETL 服务器
五、难点与处理方法
- 脚本任务(C# / VB.NET):先描述“这段脚本做了什么”,再用 Python 重新实现,不要逐行翻译
- SCD 组件:逐行处理效率低,统一改为一次性的 Delta MERGE
- 排序规则:SQL Server 通常不区分大小写,Spark 区分,关联键需要统一处理
- 中文编码:平面文件常为 GBK / GB18030,SSIS 中设置了代码页 936,迁移后读取时必须显式指定编码
- Oracle 数据源:改用 Data Factory 的 Oracle 连接器,或使用 Fabric 的 Oracle 镜像把数据同步到 OneLake
六、SSIS 与 Microsoft Fabric 对照表
| SSIS | Microsoft Fabric |
|---|---|
| .dtsx 包(直接运行) | Invoke SSIS Package 活动(预览) |
| 控制流 | Data Factory 管道 |
| 数据流任务 | 复制活动 / Copy job / Dataflow Gen2 / Notebook |
| 查找 / 合并联接 | 合并查询 / Spark join |
| 派生列 / 条件拆分 | Power Query 或 PySpark 表达式 |
| 缓慢变化维(SCD) | Delta MERGE |
| 脚本任务(C#) | PySpark / 管道活动 |
| 执行包任务 | Invoke Pipeline 活动 |
| 包配置 / 项目参数 | 管道参数 / 变量库 |
| SQL Server 代理作业 | 管道计划 |
| Oracle 连接器(已停止支持) | Data Factory Oracle 连接器 / Oracle 镜像 |
七、案例参考:Emulus Consulting
Emulus Consulting 按四象限评估法为一家汽车零部件制造企业完成迁移:
- SSIS 包 560 个,其中第四象限 118 个评估后下线
- 第三象限 140 个通过 Invoke SSIS Package 直接运行
- 第一、二象限 302 个完成重构,初始自动转换准确率 82%
- 脚本任务 71 个改写为 Python 并配套自动化测试
- 夜间批处理从 5 小时 40 分钟缩短至 1 小时 15 分钟
- ETL 服务器 6 台下线,总成本降低 37%,项目周期 18 周
八、Pulse Convert 如何加速迁移
- 自动评估:解析全部包与作业历史,自动计算复杂度与重要性得分,生成四象限分布
- 自动重构:控制流与数据流转换为管道、Dataflow Gen2 与 PySpark,初始自动转换准确率 70%~90%
- 脚本任务:AI 总结脚本行为并生成等价 Python 代码,由专家复核
- PulseQA:自动比对 SSIS 与 Fabric 的行数、金额、主键与拒绝记录
- 专家补全:剩余 10%~30% 与您的团队共同完成
常见问题(FAQ)
A.预览期间,访问本地或私有终结点数据源的包无法直接运行,需要重构。
A.建议在后续逐步重构,以获得更好的性能、可维护性和与 Fabric 其他组件的集成。
A.我们建议避开月结窗口切换,并至少并行运行一个完整月结周期。
A.数百个包的规模,通常为 12~20 周。
A.我们会免费评估您选定的 5 个 SSIS 包,给出四象限定位,并展示直接运行或重构后的结果。
立即开始
- 免费 POC:免费 POC(Pulse Convert)
- 官网:innovationalofficesolution.com
- 邮箱:Admin@innovationalofficesolution.com
免费 POC(概念验证)
Microsoft Solution Partner
以四象限评估法将 SSIS 迁移至 Microsoft Fabric
全面评估复杂度与业务重要性,平衡 Invoke SSIS Package 直接运行与 Data Factory / PySpark 重构。初始自动转换准确率 70%~90%,平稳应对 SQL 2016 停保。
初始自动转换准确率 70%~90%免费 POC:迁移 5 个核心 SSIS 包四象限智能评估与全自动重构微软官方 Data & AI 解决方案合作伙伴
发布方:Office Solution AI Labs(Microsoft 解决方案合作伙伴 - Data & AI)
#中文#SSIS#Microsoft Fabric#Data Factory#Dataflow Gen2#四象限评估#案例研究