在SQL2012实例上运行SSIS 2008包

4
我正在将我们的ETL解决方案和数据库升级到SQL Server 2012。我已经测试了这个升级,但我们对在SQL 2012实例上运行SSIS 2008包与作业进行了辩论。我知道2008 R2实例作业运行的命令是:

消息 Microsoft (R) SQL Server 执行程序包实用工具版本 10.0.5500.0 64位版 版权所有 (C) Microsoft Corp 1984-2005。保留所有权利。

开始时间:上午2:10:11 DTExec:软件包执行返回 DTSER_SUCCESS(0)...

而2012实例作业会就地升级包,并运行以下内容:

消息以用户身份执行:xxxx。Microsoft (R) SQL Server 执行程序包实用工具 版本 11.0.2100.60 64位 版权所有 (C) Microsoft Corporation。保留所有权利。开始时间: 上午8:29:18 DTExec:软件包执行返回DTSER_SUCCESS(0)。 开始时间: 上午8:29:18 完成时间:上午8:59:46 耗时:1816.76 秒。 软件包执行成功。 步骤成功。

我的问题是:是否有关于这种情况的失败报告,并且可以安全地假定存在向后兼容性?
3个回答

3
这个页面得知,DTExec 2012可以将早期版本的包转换为2012格式。虽然转换可能会失败,但是可以测试这些包,如果它们成功运行一次(即成功转换),则每次都应该成功运行。它们的行为应该非常相似,但在某些情况下可能不完全相同。
导致转换失败的最可能的情况是包含第三方组件,这些组件在SSIS 2012中不可用。
我不会假设一个包可以在后续版本的DTExec中运行而不进行测试,但如果它成功运行一次,则很有可能每次都能成功运行。

1

不是完全向后兼容。例如,使用SSIS 2008编辑的从平面文件提取数据的包,在不指定行和列分隔符的情况下可以在2008中运行,但如果在SSIS 2012服务器上运行该包,则空行和列分隔符将导致提取出现问题,它将导入无数列/行(因为它永远找不到列/行结束)。对我来说是个大问题,目前仍存在。


0
有一个情况是我发现了一个问题,我想分享一下: 如果在SSIS 2008包中处理SSAS Cubes,在极少数情况下,SSAS数据库连接提供程序可能无法与过时的版本兼容。请参考this链接。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接