Ssis-2012

SSIS 2012:環境參考 n 與項目無關

  • November 4, 2016

我有一個正在更新的包。該包由 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 參數。

有用的參考資料(您不會通過搜尋錯誤消息找到):

引用自:https://dba.stackexchange.com/questions/83746