在环境之间移动SSIS DQS任务

时间:2016-03-29 19:42:54

标签: ssis data-quality-services

我正在使用SQL Server 2012,我们创建了一个使用数据质量服务(DQS)清理转换的SSIS包。一切都很好,除非我们尝试将SSIS包从DEV环境移动到QA或PROD。

SSIS DQS转换在XML中硬编码知识库的ID,而不是KB的名称。问题是当您安装/导入DQS KB时,它会为KB创建不同的ID。因此,一个环境中的KB的ID将与另一个环境中的相同KB的ID不同,例如,在DEV环境中,ID为100005,在PROD环境中,相同KB的ID为100007.

因为在PROD环境中执行转换时,任务会抛出错误,因为转换正在查找ID为100005的KB,而在PROD中ID为100007(抛出的错误是:知识库执行此操作不存在)。

Microsoft建议只有一个KB且所有环境都指向它的唯一解决方法(网络团队不允许这样做)或不使用目录/部署工具并将SSIS项目移动到其他环境然后在SSIS中打开包并在SSIS DQS转换中重新选择KB,但这不是一个可接受的解决方法,因为开发团队无法访问PROD中的服务器。

有没有人想出不同的工作?顺便说一句,这就是微软所说的:https://support.microsoft.com/en-us/kb/2882914(基本上我上面写的)。我还尝试更改XML中的硬编码ID,但由于某些原因无效。

如果没有解决方法,那么这项任务就没用了,这很不幸,因为它运作良好。

1 个答案:

答案 0 :(得分:0)

我建议的一种替代方法是用变量/参数替换ID。这样,当您将其从一个环境移动到另一个环境时,您实际上可以动态地更改此设置。