我們最近已將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環境中遇到了這個兩次。任何人都經歷過這個,你是如何解決這個問題的?