我们最近已将SQL Server 2000中的30个DTS包迁移到SQL Server 2008中的SSIS包中。我们创建了包,以便所有与环境相关的变量和其他所需信息均被采集来自配置文件,用于维护Dev,QA和Prod等不同环境下的软件包。SSIS包无法正确获取配置文件
使用配置文件设置所有包后,当我们测试Business Intelligence Development Studio的包时,它工作正常,并从配置文件中获取值。当将配置文件中的值更改为Dev或其他env时,它会正确拾取值并执行。同样,尝试2种不同的环境,并且软件包工作正常。所以我们部署到Prod,它工作正常。
昨天,我不得不对一个软件包进行功能更改,因此我在软件包中进行了更改(它只是更改SQL过程执行任务中的参数,而不涉及任何变量),并在BIDS中进行了测试2环境,它工作得很好。由于该变更与任何环境变化无关,因此我们仅在Prod(即不使用清单)中手动部署更新的软件包(而不是相关的配置文件)。之前在程序包中使用并且在Prod中正常工作的配置文件保持不变。但是当程序包被执行时,程序包指向QA,而且我相信程序包没有从配置文件中读取。
一个原因可能是,它仍然使用最后执行的值,它们保留在.dtsx文件中(通过在文本编辑器中打开该文件可以进行检查)。但通常情况下,执行包时,值将从配置文件覆盖。猜猜这没有发生。
这有什么可能的原因?我们已经在测试环境之间进行了广泛的切换测试,并没有显示出这种行为。我们现在已经在Prod环境中遇到了这个两次。任何人都经历过这个,你是如何解决这个问题的?