[Azure][SSIS]如何在 Azure SQL Database 上查看 Integration Services 目錄

當我們透過相關的操作建立好 Data Factory 上的 Integration Runtime 之後,那接下來該如何在 SSMS 上面使用  Integration Services 目錄相關功能呢 ?

在前一篇文章中「在 Azure SQL Database 上搭配 SSIS 來使用」,我們透過 Azure Portal 和 PowerShell 的相關指令,來完成 Integration Runtime 的建置,接下來我們將示範將 SSIS 的封裝,要如何部屬到 SSISDB 中。

首先您要先了解一下 SSIS 從 SQL Server 2012 開始,已經將原本的「封裝部署模式」,改成「專案部署模式」 ( 有興趣的朋友可以參考另外一篇文章「小試專案部署模式( Project Deployment Model ) 和參數 ( Parameter )使用」,而當你需要將 SSIS 的封裝,部屬到 Azure 雲端的時候,則必須使用新的專案部屬模式。

接著我們要先用 SSMS 來連接我們的 Azure SQL Database,建議大家要使用 SSMS v17.2 以上的版本,這裡我所使用的是 v17.3 的版本。

一開始我們跟以往一樣的方式,選擇連接到我們的 Azure SQL Database 上面,這個時候您可能會跟我的範例類似,就是您可以看到 SSISDB 的資料庫,但是就是沒有看到 「Integration Services 目錄」的節點,先不要緊張,這個是正常的。

因此我們重新再建立一個連線,這個時候我們在輸入完帳號和密碼之後,先別急著連線,先按下下方的「選項」的按鈕

在「連接屬性」的下方,設定要連接的資料庫,輸入 SSISDB,就可以按下下方的連接的按鈕了。

此時在 SSMS 上面,就可以看到跟之前的不同了,現在就會多一個 「Integration Services 目錄」的節點

因此這個時候我在 VS 2015 內,建立一個測試用的封裝。

接著我們就在專案上,按下滑鼠右鍵,選擇「部署」

 

接著輸入相關的連接資訊和設定部署的路徑,確認無誤之後就可以部署上去了。

接下來我們就可以在 SSMS 上透過 GUI 介面來選擇要執行的封裝,或者是透過 T-SQL 的指令來執行

Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Main.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'TEST', @project_name=N'TestAzure', @use32bitruntime=False, @reference_id=Null, @useanyworker=True, @runinscaleout=True
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[start_execution] @execution_id,  @retry_count=0
GO


 

也可以很方便的透過 SSMS 上面的 Integration Services 儀錶板,輕鬆地了解到 SSIS 封裝執行的狀況了。

在這裡如果有使用過之前的 SSIS 2012 的時候,會發覺其實在這裡是有點不大相同的。以往在 SSIS 2012 的時候,如果採用 SQL 認證登入的話,是無法透過 T-SQL 來執行 SSIS 的封裝,而這個問題,目前在 Azure SQL Database 和 SQL Server 2016 ,也都沒有這樣的限制了,也讓大家可以更方便的去使用了。