在 SSIS 中合并 .dtsx 文件

Merging .dtsx files in SSIS

情况:我和其他开发人员在另外两个 git 分支上处理同一个 .dtsx 包(在 VS 2019 中)。我们想将我们的更改合并到 master 分支,但是无论谁试图合并第二个分支,都会有一堆冲突。

是否有任何工具或方法可以合并此包而无需手动解决所有冲突?

如果您已经进行了更改并且无法识别所有差异,一种选择是将您的 SSIS 包导入 Varigence 的 BimlOnline 工具,然后比较生成的 Biml 脚本结果。

然而,正如 Nick 评论的那样,dtsx 文件不能与多个编辑器兼容。文件的 xml 包含每个包的逻辑、属性和 布局 ,因此即使将任务移动一个像素也会导致更改。

但是,如果您的环境需要共享开发,我强烈建议您通过 BimlExpress Visual Studio add-on 学习如何使用 Biml。如果您能够在元数据驱动的 Biml 解决方案中开发您的项目,您会发现交付调整和新功能的时间显着减少,并且能够源代码控制您的 Biml 脚本而不是 dtsx 文件本身。

也就是说,Nick 也说得对,您的包裹不应该太复杂。通过将所有 ETL 逻辑封装到存储过程中并将 SSIS 降级为在正确的时间简单地调用正确的过程,您几乎总能获得更好的性能和更容易维护的解决方案。