Sql-Server-2016

創建存在 msdb 部署包的集成服務目錄 (SSISDB) 有何影響?

  • September 9, 2020

我繼承了一個安裝了 SSIS 的生產 2016 SQL Server,它有許多 SSIS 包部署到 msdb(主要是每晚執行的倉庫 ETL 工作負載)。

我想創建一個新的集成服務目錄並將未來的 SSIS 項目部署到 SSISDB。這兩種部署方式和包位置可以共存嗎?換句話說,如果我創建新目錄並開始為新的 SSIS 項目使用項目部署模型,這會對 msdb 中已有的 dtsx 包產生任何影響嗎?

是的,您可以同時使用包部署模型 (msdb) 和項目部署模型 (SSISDB),而不會產生不良影響。

作為一名顧問,如果我走進一個同時擁有這兩者的地方,這表明他們在 2012 版本之前一直在使用 SSIS,並且沒有理由將現有工作升級到新模型。在受到嚴格監管的行業中,通過官僚機構只是為了讓您的生活更輕鬆通常不是考慮因素。那或某人有一個很好的理由使用 legacy/msdb。

包部署模型中的許多“設計缺陷”(缺少配置、缺少日誌記錄)與項目部署模式無關(日誌記錄是自動的,並且連接管理器很容易在外部進行配置)。項目部署模型還使父/子設計模式更容易實現。

從管理的角度來看,這就是 SSISDB 的真正魅力所在。如果你想執行一個包,你呼叫本地程序,它會啟動 dtexec。對於 msdb 中的包,您正在查看xp_cmdshell呼叫或 SQL 代理作業,因為沒有本地方式來執行它們。

由於密鑰管理,SSISDB 的備份和恢復稍微複雜一些,但它已記錄在案。

包的部署使用兩種不同的機制(dtutil vs isdeploymentwizard/managed object model/bulk insert)

執行使用相同的執行檔:dtexec

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