SQL Server 2016 的 SSIS 專案部署,已經可以在 SSDT 下針對單一封裝更新重新佈署
前一陣子在 SQL Pass 的聚會中,臨時被問到一個問題「SSIS 的專案該如何管控 ? 專案部署的時候一定要所有的封裝都更新嗎 ?」因為當時是接近上課時間,只有匆匆地說明一下,因此想說把整個說明整理一下。
從 SQL Server 2012 開始,SSIS 從之前的封裝部屬模式,進入到了專案部屬模式 ( 可參考 小試專案部署模式和參數使用 ),這樣在使用上有很多的好處,也能夠過 SSIS 的儀表版,來查看執行的狀況。而要開發 SSIS 的專案,如果您是採用 Visual Studo 搭配 SSDT 的時候,更可以使用 IDE 上所搭配的版本控制,去整合 GIT or VSTS 等去進行版本控制。因此在 SSIS 專案就可以這樣來進行程式碼的控制。
但如果您就算沒有使用程式碼的版本控制,當我們使用 SSIS 專案部屬的時候,SQL Server 也會針對你所部屬的檔案來做版本控管,因此當你要回到某個版本的時候,就不需要再重新找原始程式,只需要在 SSMS 上面,挑選之前的版本,就可以很容易的去切換到不同的版本上。
雖然這樣很方便,但有時整個封裝內我們可能想不變動其他檔案,只更新曾單一個封裝道專案內,在 SQL Server 2012 & 2014 的時候,要做到這樣會有點小麻煩,因此當時還為了這樣,特別寫了一篇文章說明如何來做這件事情 ( 是否可以單獨修改放在 SSISDB 中的單一封裝 ? )
但現在到了 SQL Server 2016 ,這樣的處理就簡單多了,假設一開始我的專案如下,裡面有兩個封裝
這個專案我們先將他部署到 SSISDB 內
因此透過 SSMS 上查看 [版本] 資訊的時候,可以看到目前只有一個剛剛部署的專案
此時當我們在 SSDT 中,新增一個封裝之後,則在專案內剛才所建立封裝上,選擇 [部署封裝]
接下來就跟部署專案幾乎一樣的步驟,確認好相關的主機和路徑就可以了
部署好之後我們回到 SSMS 上面查看,果然就新增了一個新的封裝上去了。
也可以看到有新增一個新的版本出來了。
希望上述的說明和相關範例,可以對那天詢問的朋友有幫助。