適用於:
Azure Data Factory
Azure Synapse Analytics
提示
Data Factory in Microsoft Fabric 是下一代的 Azure Data Factory,擁有更簡單的架構、內建 AI 及新功能。 如果你是資料整合新手,建議先從 Fabric Data Factory 開始。 現有的 ADF 工作負載可升級至 Fabric,以存取資料科學、即時分析與報告等新能力。
若要將內部部署 SQL Server Integration Services (SSIS) 工作負載隨即轉移至雲端,您可以在 Azure Data Factory (ADF) 中佈建 Azure-SSIS Integration Runtime (IR)。 如需詳細資訊,請參閱佈建 Azure-SSIS IR。 Azure-SSIS IR 可支援:
- 執行已部署到 SSIS 目錄 (SSISDB) 的套件,此目錄由 Azure SQL Database 伺服器/受控執行個體 (專案部署模型) 裝載
- 執行部署到檔案系統、Azure 檔案儲存體或由 Azure SQL 受控執行個體裝載的 SQL Server 資料庫 (MSDB) 中的套件(套件部署模型)
當您使用套件部署模型時,您可以選擇是否要使用套件存放區佈建 Azure-SSIS IR, 其可在檔案系統、Azure 檔案儲存體或由 Azure SQL 受控執行個體裝載的 MSDB 之上提供套件管理層。 Azure-SSIS IR 套件存放區可讓您透過 SQL Server Management Studio (SSMS,類似舊版 SSIS 套件存放區),來匯入/匯出/刪除/執行套件,以及監視/停止執行套件。
連線至 Azure-SSIS IR
佈建 Azure-SSIS IR 之後,您即可連線至其中以瀏覽其在 SSMS 上的套件存放區。
在 SSMS 的物件總管視窗中,在 [連線] 下拉式功能表中選取 [Azure-SSIS Integration Runtime]。 接下來,登入 Azure,並選取您已使用套件儲存區佈建的相關訂用帳戶、ADF 和 Azure-SSIS IR。 您的 Azure-SSIS IR 下方會顯示執行中的套件與已儲存的套件節點。 展開已儲存的套件節點,即可查看其下方的套件儲存區。 展開您的套件庫,以查看底下的資料夾和套件。 如果 SSMS 無法自動連線到套件存放區,系統可能會要求您輸入套件存放區的存取認證。 例如,如果您展開 MSDB 頂端的套件存放區,系統可能會要求您先連線到 Azure SQL 受控執行個體。
管理資料夾和套件
連線到 SSMS 的 Azure-SSIS IR 之後,您可以在任何套件存放區、資料夾或套件上按一下滑鼠右鍵,以顯示功能表,然後選取 [新增資料夾]、[匯入套件]、[匯出套件]、[刪除] 或 [重新整理]。
選取 [新增資料夾] 以建立匯入套件的新資料夾。
選取 [匯入套件] 以將套件從檔案系統、SQL Server (MSDB) 或舊版SSIS 套件存放區匯入套件存放區。
視要匯入的套件位置而定,選取相關的伺服器/驗證類型、視需要輸入存取認證、選取 [套件路徑],然後輸入新的套件名稱。 匯入套件時,您無法變更其保護層級。 若要變更,請使用 SQL Server Data Tools (SSDT) 或
dtutil命令列公用程式。注意
您只能逐一將 SSIS 套件匯入 Azure-SSIS IR 套件存放區,這麼做會單純將其複製到基礎 MSDB/檔案系統/Azure 檔案儲存體,同時保留其 SQL Server/SSIS 版本。
由於 Azure-SSIS IR 目前是以 SQL Server 2017 為基礎,如果其中所執行套件的版本較低,則會在執行階段將這些套件升級為 SSIS 2017 套件。 不支援執行較高版本的套件。
此外,由於舊版 SSIS 套件存放區繫結至特定 SQL Server 版本,而且只能在該版本的 SSMS 上存取,所以您必須先使用指定的 SSMS 版本,將舊版 SSIS 套件存放區中較低版本的套件匯出至檔案系統,才能使用 SSMS 2019 或更新版本將其匯入 Azure-SSIS IR 套件存放區。
或者,您可以使用 dtutil 命令列公用程式,將多個 SSIS 套件匯入 Azure-SSIS IR 套件存放區,同時切換其保護層級,請參閱使用 dtutil 部署多個套件。
選取 [匯出套件] 以將套件從套件存放區匯入檔案系統、SQL Server (MSDB) 或舊版SSIS 套件存放區。
視要匯入的套件位置而定,選取相關的伺服器/驗證類型、視需要輸入存取認證,然後選取 [套件路徑]。 匯出套件時,如果套件已加密,請先輸入密碼來解密套件,然後您可以變更其保護層級,以防止儲存任何敏感性資料,或防止透過使用者金鑰或密碼來加密敏感性資料或所有資料。
注意
您只能逐一將 SSIS 套件從 Azure-SSIS IR 套件存放區匯出,若匯出時未切換其保護層級,即可單純將其複製,同時保留其 SQL Server/SSIS 版本;若否,則會將這些套件升級至 SSIS 2019 或更新版本套件。
由於 Azure-SSIS IR 目前是以 SQL Server 2017 為基礎,如果其中所執行套件的版本較低,則會在執行階段將這些套件升級為 SSIS 2017 套件。 不支援執行較高版本的套件。
或者,您可以使用 dtutil 命令列公用程式,將多個 SSIS 套件從 Azure-SSIS IR 套件存放區匯出,同時切換其保護層級,請參閱使用 dtutil 部署多個套件。
選取 [刪除],從套件存放區中刪除現有的資料夾/套件。
選取 重新整理,以顯示套件存放區中新增的資料夾與套件。
執行套件
連線到 SSMS 上的 Azure-SSIS IR 之後,您可以在任何預存套件上按一下滑鼠右鍵,以顯示功能表,然後選取 [執行套件]。 這會開啟 [執行套件公用程式] 對話方塊,您可以在其中將 Azure-SSIS IR 上的套件執行設為 ADF 管線中的「執行 SSIS 套件」活動。
[執行套件公用程式] 對話方塊的 [一般]、[設定]、[執行選項] 和 [記錄] 頁面會對應至「執行 SSIS 套件」活動的 [設定] 索引標籤。 在這些頁面上,您可以輸入套件的加密密碼,並存取套件設定檔的資訊。 您也可以輸入套件執行認證和屬性,以及記錄檔資料夾的存取資訊。 [執行套件公用程式] 對話方塊的 [設定值] 頁面會對應至「執行 SSIS 套件」活動的 [屬性覆寫] 索引標籤,您可以在其中輸入要覆寫的現有套件屬性。 如需詳細資訊,請參閱在 ADF 管線中,以執行 SSIS 套件活動的方式執行 SSIS 套件。
當您選取 [執行] 按鈕時,即會自動產生並觸發含「執行 SSIS 套件」活動的新 ADF 管線。 如果具相同設定的 ADF 管線已存在,則會重新執行此管線,而不會產生新的管線。 ADF 管線和「執行 SSIS 套件」活動會分別命名為 Pipeline_SSMS_YourPackageName_HashString 和 Activity_SSMS_YourPackageName。
監視及停止執行中的套件
在 SSMS 上連線到 Azure-SSIS IR 之後,您可以展開執行中的套件節點,以查看其下方目前正在執行的套件。 在任一套件上按一下滑鼠右鍵以顯示功能表,然後選取 [停止] 或 [重新整理]。
選取停止,以取消目前正在執行、且以執行 SSIS 套件活動執行該套件的 ADF 管線。
選取重新整理,以顯示來自套件儲存區中新近執行的套件。
監視 Azure-SSIS IR 並編輯套件儲存區
連接至 SSMS 上的 Azure-SSIS IR 之後,您可以在其上按一下滑鼠右鍵以打開選單,然後選擇「移至 Azure Data Factory 入口網站」或「重新整理」。
選取移至 Azure Data Factory 入口網站,以開啟 ADF 監視中樞的 Integration Runtimes 頁面,您可以在其中監視 Azure-SSIS IR。 在 [套件存放區] 圖格上,您可以看到附加至 Azure-SSIS IR 的套件存放區數目。 選取該數字即會顯示視窗,您可以在其中編輯 ADF 連結服務,以儲存套件存放區的存取資訊。
選取重新整理,以顯示套件儲存區中新新增的資料夾/套件,以及來自套件儲存區的執行中套件。
使用 dtutil 部署多個套件
若要將內部部署 SSIS 工作負載隨即轉移至 ADF 中的 SSIS,同時維護舊版套件部署模型,您必須將套件從檔案系統、由 SQL Server 裝載的 MSDB,或舊版 SSIS 套件存放區部署到 Azure 檔案儲存體、由 Azure SQL 受控執行個體裝載的 MSDB,或 Azure-SSIS IR 套件存放區。 同時,如果您尚未進行此操作,您也應該將其保護層級從使用者金鑰的加密改為未加密或密碼加密。
您可以使用 SQL Server/SSIS 安裝隨附的 dtutil 命令列公用程式,批次部署多個套件。 其繫結至特定的 SSIS 版本,因此如果您使用它來部署較低版本的套件而未切換其保護層級,則只會單純複製套件,同時保留其 SSIS 版本。 如果您使用此公用程式來部署套件並同時切換其保護層級,則會將套件升級為其 SSIS 版本。
由於 Azure-SSIS IR 目前是以 SQL Server 2017 為基礎,如果其中所執行套件的版本較低,則會在執行階段將這些套件升級為 SSIS 2017 套件。 不支援執行較高版本的套件。
因此,若要避免執行階段升級,在 Package Deployment Model 中部署套件以在 Azure-SSIS IR 上執行時,應使用隨 SQL Server/SSIS 2017 安裝而提供的 dtutil 2017。 如有此需要,您可以下載並安裝免費 SQL Server/SSIS 2017 Developer Edition。 安裝之後,您可以在此資料夾找到 dtutil 2017:YourLocalDrive:\Program Files\Microsoft SQL Server\140\DTS\Binn。
使用 dtutil 將多個套件從內部部署檔案系統部署到Azure 檔案儲存體
若要將多個套件從檔案系統部署到 Azure 檔案儲存體,並同時切換其保護層級,您可以在命令提示字元中執行下列命令。 請將您案例特有的所有字串取代。
REM Persist the access credentials for Azure Files on your local machine
cmdkey /ADD:YourStorageAccountName.file.core.windows.net /USER:azure\YourStorageAccountName /PASS:YourStorageAccountKey
REM Connect Azure Files to a drive on your local machine
net use Z: \\YourStorageAccountName.file.core.windows.net\YourFileShare /PERSISTENT:Yes
REM Go to a local folder where you store your packages
cd YourLocalDrive:\...\YourPackageFolder
REM Run dtutil in a loop to deploy your packages from the local folder into Azure Files while switching their protection level
for %f in (*.dtsx) do dtutil.exe /FILE %f /ENCRYPT FILE;Z:\%f;2;YourEncryptionPassword
若要在批次檔中執行上述命令,請將 %f 取代為 %%f。
若要將多個套件從舊版 SSIS 套件存放區部署到 Azure 檔案儲存體,並同時切換其保護層級,您可以使用相同的命令,但要將 YourLocalDrive:\...\YourPackageFolder 取代為舊版 SSIS 套件存放區所使用的本機資料夾:YourLocalDrive:\Program Files\Microsoft SQL Server\YourSQLServerDefaultCompatibilityLevel\DTS\Packages\YourPackageFolder。 例如,如果您的舊版 SSIS 套件存放區繫結至 SQL Server 2016,請移至 YourLocalDrive:\Program Files\Microsoft SQL Server\130\DTS\Packages\YourPackageFolder。 您可以從 YourSQLServerDefaultCompatibilityLevel中找到的值。
如果您已在 Azure 檔案儲存體之上設定 Azure-SSIS IR 套件存放區,當您連線到 SSMS 2019 或更新版本的 Azure-SSIS IR 時,部署的套件即會出現在其中。
使用 dtutil 將多個包從本地 MSDB 部署到 Azure 中的 MSDB
若要將多個套件從由 SQL Server 裝載的 MSDB 或 MSDB 之上的舊版 SSIS 套件存放區部署至由 Azure SQL 受控執行個體裝載的 MSDB,並同時切換其保護層級,您可以連線至 SSMS 上的 SQL Server,在 SSMS Databases->System Databases->msdb上的 節點按一下滑鼠右鍵,以開啟 [新增查詢] 視窗,然後執行下列 T-SQL 指令碼。 請將您案例特有的所有字串取代:
BEGIN
SELECT 'dtutil /SQL '+f.foldername+'\'+NAME+' /ENCRYPT SQL;'+f.foldername+'\'+NAME+';2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourSQLAuthUsername /DestPassword YourSQLAuthPassword'
FROM msdb.dbo.sysssispackages p
inner join msdb.dbo.sysssispackagefolders f
ON p.folderid = f.folderid
END
若要使用 Azure SQL 受控執行個體的私人/公用端點,請分別以 YourSQLManagedInstanceEndpointYourSQLMIName.YourDNSPrefix.database.windows.net/ 取代 YourSQLMIName.public.YourDNSPrefix.database.windows.net,3342。
指令碼會針對 MSDB 中的所有套件產生 dtutil 命令列,您可以在命令提示字元中多重選取、複製/貼上及執行這些命令列。
dtutil /SQL YourFolder\YourPackage1 /ENCRYPT SQL;YourFolder\YourPackage1;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword
dtutil /SQL YourFolder\YourPackage2 /ENCRYPT SQL;YourFolder\YourPackage2;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword
dtutil /SQL YourFolder\YourPackage3 /ENCRYPT SQL;YourFolder\YourPackage3;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword
如果您已在 MSDB 之上設定 Azure-SSIS IR 套件存放區,當您連線到 SSMS 2019 或更新版本的 Azure-SSIS IR 時,部署的套件即會出現在其中。
使用 dtutil 將多個套件從內部部署 MSDB 部署到 Azure 檔案儲存體
若要將多個套件從由 SQL Server 裝載的 MSDB 或 MSDB 之上的舊版 SSIS 套件存放區部署至 Azure 檔案儲存體,並同時切換其保護層級,您可以連線至 SSMS 上的 SQL Server,在 SSMS Databases->System Databases->msdb上的 節點按一下滑鼠右鍵,以開啟 [新增查詢] 視窗,然後執行下列 T-SQL 指令碼。 請將您案例特有的所有字串取代:
BEGIN
SELECT 'dtutil /SQL '+f.foldername+'\'+NAME+' /ENCRYPT FILE;Z:\'+f.foldername+'\'+NAME+'.dtsx;2;YourEncryptionPassword'
FROM msdb.dbo.sysssispackages p
inner join msdb.dbo.sysssispackagefolders f
ON p.folderid = f.folderid
END
指令碼會針對 MSDB 中的所有套件產生 dtutil 命令列,您可以在命令提示字元中多重選取、複製/貼上及執行這些命令列。
REM Persist the access credentials for Azure Files on your local machine
cmdkey /ADD:YourStorageAccountName.file.core.windows.net /USER:azure\YourStorageAccountName /PASS:YourStorageAccountKey
REM Connect Azure Files to a drive on your local machine
net use Z: \\YourStorageAccountName.file.core.windows.net\YourFileShare /PERSISTENT:Yes
REM Multiselect, copy & paste, and run the T-SQL-generated dtutil command lines to deploy your packages from MSDB on premises into Azure Files while switching their protection level
dtutil /SQL YourFolder\YourPackage1 /ENCRYPT FILE;Z:\YourFolder\YourPackage1.dtsx;2;YourEncryptionPassword
dtutil /SQL YourFolder\YourPackage2 /ENCRYPT FILE;Z:\YourFolder\YourPackage2.dtsx;2;YourEncryptionPassword
dtutil /SQL YourFolder\YourPackage3 /ENCRYPT FILE;Z:\YourFolder\YourPackage3.dtsx;2;YourEncryptionPassword
如果您已在 Azure 檔案儲存體之上設定 Azure-SSIS IR 套件存放區,當您連線到 SSMS 2019 或更新版本的 Azure-SSIS IR 時,部署的套件即會出現在其中。
相關內容
您可以重新執行/編輯含有「執行 SSIS 套件」活動的自動產生 ADF 管線,或在 ADF 入口網站上建立新的管線。 如需詳細資訊,請參閱在 ADF 管線中,以執行 SSIS 套件活動的方式執行 SSIS 套件。