共用方式為


使用 Azure-SSIS Integration Runtime 套件存放區管理套件

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory (部分機器翻譯),這是適用於企業的全方位分析解決方案。 Microsoft 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 SQL 受控執行個體 (套件部署模型) 所裝載檔案系統、Azure 檔案儲存體或 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 上的套件存放區。

Connect to Azure-SSIS IR

在 SSMS 的物件總管視窗中,選取 [連線] 下拉式功能表中的 [Azure-SSIS Integration Runtime]。 接下來,登入 Azure,然後選取相關訂閱、ADF 和您已使用套件存放區佈建的 Azure-SSIS IR。 隨即顯示 Azure-SSIS IR,其下方含有 [Running Packages] \(執行中的套件\) 和 [預存套件] 節點。 展開 [預存套件] 節點,以查看下方的套件存放區。 展開您的套件存放區,以查看下方的資料夾和套件。 如果 SSMS 無法自動連線到套件存放區,系統可能會要求您輸入套件存放區的存取認證。 例如,如果您展開 MSDB 頂端的套件存放區,系統可能會要求您先連線到 Azure SQL 受控執行個體。

Connect to Azure SQL Managed Instance

管理資料夾和套件

連線到 SSMS 的 Azure-SSIS IR 之後,您可以在任何套件存放區、資料夾或套件上按一下滑鼠右鍵,以顯示功能表,然後選取 [新增資料夾]、[匯入套件]、[匯出套件]、[刪除] 或 [重新整理]

Manage folders and packages

  • 選取 [新增資料夾] 以建立匯入套件的新資料夾。

  • 選取 [匯入套件] 以將套件從檔案系統SQL Server (MSDB) 或舊版SSIS 套件存放區匯入套件存放區。

    Import Package

    視要匯入的套件位置而定,選取相關的伺服器/驗證類型、視需要輸入存取認證、選取 [套件路徑],然後輸入新的套件名稱。 匯入套件時,您無法變更其保護層級。 若要變更,請使用 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 套件存放區

    Export Package

    視要匯入的套件位置而定,選取相關的伺服器/驗證類型、視需要輸入存取認證,然後選取 [套件路徑]。 匯出套件時,如果套件已加密,請先輸入密碼來解密套件,然後您可以變更其保護層級,以防止儲存任何敏感性資料,或防止透過使用者金鑰或密碼來加密敏感性資料或所有資料。

    注意

    您只能逐一將 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 套件」活動。

Execute Package Utility pages 1 & 2

Execute Package Utility pages 3 & 4

[執行套件公用程式] 對話方塊的 [一般]、[設定]、[執行選項] 和 [記錄] 頁面會對應至「執行 SSIS 套件」活動的 [設定] 索引標籤。 在這些頁面上,您可以輸入套件的加密密碼,並存取套件設定檔的資訊。 您也可以輸入套件執行認證和屬性,以及記錄檔資料夾的存取資訊。 [執行套件公用程式] 對話方塊的 [設定值] 頁面會對應至「執行 SSIS 套件」活動的 [屬性覆寫] 索引標籤,您可以在其中輸入要覆寫的現有套件屬性。 如需詳細資訊,請參閱在 ADF 管線中以「執行 SSIS 套件」活動的形式執行 SSIS 套件

當您選取 [執行] 按鈕時,即會自動產生並觸發含「執行 SSIS 套件」活動的新 ADF 管線。 如果具相同設定的 ADF 管線已存在,則會重新執行此管線,而不會產生新的管線。 ADF 管線和「執行 SSIS 套件」活動會分別命名為 Pipeline_SSMS_YourPackageName_HashStringActivity_SSMS_YourPackageName

Execute Package Utility button

Execute SSIS Package activity

監視及停止執行中的套件

連線到 SSMS 上的 Azure-SSIS IR 之後,您可以展開 [Running Packages] \(執行中的套件\) 節點,以查看目前執行中的套件。 在任一套件上按一下滑鼠右鍵以顯示功能表,然後選取 [停止] 或 [重新整理]

Monitor and stop running packages

  • 選取 [停止],取消目前以「執行 SSIS 套件」活動形式執行套件的執行中 ADF 管線。

  • 選取 [重新整理] 以顯示套件存放區中新執行的套件。

監視 Azure-SSIS IR 及編輯套件存放區

連線到 SSMS 上的 Azure-SSIS IR 之後,您可以在其上按一下滑鼠右鍵以顯示功能表,然後選取 [Go to Azure Data Factory portal] \(移至 Azure Data Factory 入口網站\) 或 [重新整理]

Go to ADF portal

  • 選取 [Go to Azure Data Factory portal] \(移至 Azure Data Factory 入口網站\),以開啟 ADF 監視中樞的 [整合執行階段] 頁面,並在其中監視 Azure-SSIS IR。 在 [套件存放區] 圖格上,您可以看到附加至 Azure-SSIS IR 的套件存放區數目。 選取該數字即會顯示視窗,您可以在其中編輯 ADF 連結服務,以儲存套件存放區的存取資訊。

    Edit package stores

  • 選取 [重新整理] 以顯示套件存放區中新增的資料夾/套件,以及套件存放區的執行中套件。

使用 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 套件。 不支援執行較高版本的套件。

因此,若要避免執行階段升級,您應該使用 SQL Server/SSIS 2017 安裝隨附的 dtutil 2017,將套件部署至套件部署模型中的 Azure-SSIS IR 上執行。 如有此需要,您可以下載並安裝免費 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。 您可以從 SQL Server 預設相容性層級清單中尋找 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 受控執行個體的私人/公用端點,請分別以 YourSQLMIName.YourDNSPrefix.database.windows.net/YourSQLMIName.public.YourDNSPrefix.database.windows.net,3342 取代 YourSQLManagedInstanceEndpoint

指令碼會針對 MSDB 中的所有套件產生 dtutil 命令列,您可以在命令提示字元中多重選取、複製/貼上及執行這些命令列。

Generate dtutil command lines

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 套件