Ssis-2012
SSIS 2012:環境參考 n 與項目無關
我有一個正在更新的包。該包由 Job Agent 作業執行。刪除包然後部署新版本後,我執行一個腳本來執行任何必要的
$$ create_environment $$,$$ create_environment_reference $$,$$ create_environment_variable $$, 和$$ set_object_parameter_value $$陳述。 但是,當我開始作業時,它會失敗並顯示以下錯誤消息(其中“n”是一個數字,它不會作為任何類型的 id 出現在任何相關的 SSISDB 表或視圖中):
環境引用 n 與項目無關
原因是執行包的現有作業步驟在命令行中包含 /ENVREFERENCE 開關,並且必須為新版本的包更新該值。
這並不明顯,因為使用 SSMS 查看作業步驟不會在任何地方顯示此開關。我發現解決此問題的唯一方法是編寫一個 drop 並創建作業的腳本,使用如下程式碼獲取正確的 reference_id:
SELECT reference_id FROM SSISDB.[catalog].environment_references er JOIN SSISDB.[catalog].projects p ON p.project_id = er.project_id WHERE er.environment_name = @Environment AND p.name = @ProjectName;
然後使用新編號更新對 sp_add_jobstep 的呼叫的 @command 參數。
有用的參考資料(您不會通過搜尋錯誤消息找到):