共用方式為


從 SSDT 執行 Azure 中的 SSIS 套件

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

本文說明 SQL Server Data Tools (SSDT) 上啟用 Azure 的 SQL Server Integration Services (SSIS) 專案功能。 此功能可讓您評估 SSIS 套件的雲端相容性,並在 Azure Data Factory (ADF) 中的 Azure-SSIS Integration Runtime (IR) 上執行這些套件。 您可以使用這項功能來測試現有的套件,然後再將其隨即轉移/遷移至 Azure,或開發新的套件以在 Azure 中執行。

您可以使用這項功能將新建立/現有的 Azure-SSIS IR 附加至 SSIS 專案,然後在其中執行您的套件。 我們支援執行的套件部署到由 Azure SQL Database 伺服器或專案部署模型中受控執行個體所裝載的 SSIS 目錄 (SSISDB) 我們也支援所執行的套件部署至由套件部署模型中 Azure SQL 受控執行個體所裝載的檔案系統/Azure 檔案儲存體/SQL Server 資料庫 (MSDB)。

必要條件

若要使用此功能,請從這裡下載並安裝適用於 Visual Studio (VS) 的最新 SSDT 與 SSIS 專案延伸模組。 或者,您也可以從這裡下載並安裝作為獨立安裝程式的最新 SSDT。

啟用 Azure 的 SSIS 專案

建立已啟用 Azure 的新 SSIS 專案

在 SSDT 上,您可以使用 Integration Services 專案 (已啟用 Azure) 範本來建立已啟用 Azure 的新 SSIS 專案。

New Azure-enabled SSIS project

建立已啟用 Azure 的專案之後,系統會提示您連線到 Azure Data Factory 中的 SSIS。

Connect Azure-SSIS IR prompt

如果您想要立即連線到您的 Azure-SSIS IR,請參閱連線到 Azure-SSIS IR 以取得詳細資料。 您也可以稍後在 SSDT 的 [方案總管] 視窗中,以滑鼠右鍵按一下您的專案節點來顯示功能表。 接下來,在 [Azure Data Factory 中的 SSIS] 子功能表中選取 [連線到 Azure Data Factory 中的 SSIS] 項目。

啟用 Azure 的現有 SSIS 專案

針對現有的 SSIS 專案,您可以遵循下列步驟來為這些專案啟用 Azure:

  1. 以滑鼠右鍵按一下 SSDT 方案總管視窗中的專案節點來顯示功能表。 接下來,在 [Azure Data Factory 中的 SSIS] 子功能表中選取 [已啟用 Azure 的專案] 項目,啟動 [已啟用 Azure 的專案精靈]

    Azure-enable existing SSIS project

  2. 在 [選取 Visual Studio 設定] 頁面上選取現有的 VS 設定,以在 Azure 中套用套件執行設定。 若您沒有設定可用,您也可以建立新的設定,請參閱建立新的 VS 設定。 建議您至少具備兩個不同的 VS 設定,分別用於本機和雲端環境中的套件執行,讓您可以針對雲端設定為專案啟用 Azure。 如此一來,如果您已將專案或套件參數化,您就可以根據不同執行環境 (本機電腦或 Azure),在執行階段上將不同的值指派給專案或套件參數。 如需範例,請參閱切換套件執行環境

    Select Visual Studio configuration

  3. 啟用 Azure 的現有 SSIS 專案需要您將目標伺服器版本設定為 Azure-SSIS IR 所支援的最新版本。 Azure-SSIS IR 目前以 SQL Server 2017 為基礎。 請確定您的套件沒有 SQL Server 2017 不支援的其他元件。 也請確定所有相容的其他元件都已透過自訂安裝程式安裝在您的 Azure-SSIS IR 上,請參閱自訂您的 Azure-SSIS IR。 選取 [下一步] 按鈕繼續。

    Switch target server version

  4. 請參閱連線到 Azure-SSIS IR,完成將專案連線到 Azure-SSIS IR 的作業。

將已啟用 Azure 的專案連線到 Azure Data Factory 中的 SSIS

藉由將啟用 Azure 的專案連接至 ADF 中的 SSIS,您可以將套件上傳至 Azure 檔案儲存體,並在 Azure-SSIS IR 上執行它們。 您可以依照下列步驟執行此操作:

  1. 在 [ADF 中的 SSIS 簡介] 頁面上,檢閱簡介,然後選取 [下一步] 按鈕以繼續。

    SSIS in ADF introduction

  2. 在 [選取 ADF 中的 SSIS IR] 頁面上,選取現有的 ADF 和 Azure-SSIS IR 以執行套件。 若沒有 IR,您也可以建立新的 IR。

    • 若要選取現有的 Azure-SSIS IR,請先選取相關的 Azure 訂用帳戶和 ADF。
    • 如果您選取的現有 ADF 沒有任何 Azure-SSIS IR,請選取 [建立 SSIS IR] 按鈕,在 ADF 入口網站上建立新的 IR。 建立之後,您可以返回此頁面來選取新的 Azure-SSIS IR。
    • 如果您選取的現有 Azure 訂用帳戶沒有任何 ADF,請選取 [建立 SSIS IR] 按鈕以啟動 [Integration Runtime 建立精靈]。 在精靈中,您可以輸入指定的位置和前置詞,讓我們代表您建立新的 Azure 資源群組、Data Factory 和 SSIS IR,且命名模式如下:YourPrefix-RG/DF/IR-YourCreationTime。 建立之後,您可以返回此頁面來選取新的 ADF 和 Azure-SSIS IR。

    Select SSIS IR in ADF

  3. 在 [選取 Azure 儲存體] 頁面上,選取現有的 Azure 儲存體帳戶以將套件上傳到 Azure 檔案儲存體。 您也可以建立新的套件 (如果您沒有的話)。

    • 若要選取現有的 Azure 儲存體帳戶,請先選取相關的 Azure 訂用帳戶。
    • 如果您選取與 Azure-SSIS IR 相同的 Azure 訂用帳戶,其中沒有任何 Azure 儲存體帳戶,請選取 [建立 Azure 儲存體] 按鈕。 我們會在與您 Azure-SSIS IR 相同的位置上自動為您建立新的儲存體,而名稱會結合 Azure-SSIS IR 名稱的前置詞及其建立日期。 建立之後,您可以返回此頁面來選取新的 Azure 儲存體帳戶。
    • 如果您選取沒有任何 Azure 儲存體帳戶的不同 Azure 訂用帳戶,請選取 [建立 Azure 儲存體] 按鈕,以在 Azure 入口網站上建立新的儲存體。 建立之後,您可以返回此頁面來選取新的 Azure 儲存體帳戶。

    Select Azure Storage

  4. 選取 [連線] 按鈕以完成將專案連線到 Azure-SSIS IR 的作業。 我們會在 SSDT 方案總管視窗中的 [已連結的 Azure 資源] 節點底下,顯示您選取的 Azure-SSIS IR 和 Azure 儲存體帳戶。 我們也會定期重新整理,並在該處顯示您 Azure-SSIS IR 的狀態。 若要管理您的 Azure-SSIS IR,您可以用滑鼠右鍵按一下其節點以顯示功能表,然後選取 [啟動\停止\管理] 項目,以前往 ADF 入口網站來執行此動作。

評估 SSIS 專案\套件以在 Azure 中執行

評估單一或多個套件

在 Azure 中執行套件之前,您可以評估這些套件,了解任何潛在的雲端相容性問題。 其中包括移轉障礙,以及您應該注意的其他資訊。

  • 您可以選擇逐一評估單一套件或一次評估專案下的所有套件。

    Assess package

    Assess project

  • 在 SSDT 的 [評估報告] 視窗中,您可以找到已顯示的所有潛在雲端相容性問題,且每個問題都有自己的詳細描述和建議。 您也可以將評估報告匯出成 CSV 檔案,以便與應該處理這些問題的任何人共用。

    Assessment report

隱藏評估規則

一旦您確定某些潛在的雲端相容性問題已不再適用,或已在套件中降低其風險,您就可以隱藏顯示這些問題的相關評估規則。 這會減少後續評估報告中的干擾。

  • 在 SSDT 的 [評估報告] 視窗中選取 [設定評估規則隱藏] 連結,以顯示 [評估規則隱藏設定] 視窗,您可以在其中選取要隱藏的評估規則。

    Assessment rule suppression settings

  • 或者,以滑鼠右鍵按一下 SSDT 方案總管視窗中的專案節點來顯示功能表。 在 [Azure Data Factory 中的 SSIS] 子功能表中選取 [已啟用 Azure 的設定] 項目,以顯示包含專案屬性頁面的視窗。 在 [已啟用 Azure 的設定] 區段中,選取 [隱藏的評估規則識別碼] 屬性。 最後,選取其省略符號 (...) 按鈕,以顯示 [評估規則隱藏設定] 視窗,您可以在其中選取要隱藏的評估規則。

    Azure-enabled settings

    Assessment rule suppression settings via Azure-enabled settings

在 Azure 中執行 SSIS 套件

設定已啟用 Azure 的設定

在 Azure 中執行套件之前,您可以為其設定已啟用 Azure 的設定。 例如,您可以遵循下列步驟,在 Azure-SSIS IR 上啟用 Windows 驗證來存取內部部署/雲端資料存放區:

  1. 以滑鼠右鍵按一下 SSDT 方案總管視窗中的專案節點來顯示功能表。 接下來,在 [Azure Data Factory 中的 SSIS] 子功能表中選取 [已啟用 Azure 的設定] 項目,以顯示包含專案屬性頁面的視窗。

    Azure-enabled settings

  2. 在 [已啟用 Azure 的設定] 區段中選取 [啟用 Windows 驗證] 屬性,然後在其下拉式功能表中選取 [True]。 接下來,選取 [Windows 驗證認證] 屬性,然後選取其省略號 (...) 按鈕,以顯示 [Windows 驗證認證] 視窗。

    Enable Windows authentication

  3. 輸入您的 Windows 驗證認證。 例如,若要存取 Azure 檔案儲存體,您可以分別針對 [網域]、[使用者名稱] 和 [密碼] 輸入 AzureYourStorageAccountNameYourStorageAccountKey

    Windows authentication credentials

啟動套件執行

將已啟用 Azure 的專案連線到 ADF 中的 SSIS、評估其雲端相容性,以及降低潛在問題的風險之後,您可以在 Azure-SSIS IR 上執行/測試您的套件。

  • 選取 SSDT 工具列中的 [開始] 按鈕,以顯示下拉式功能表。 接下來,選取 [在 Azure 中執行] 項目。

    Execute in Azure

  • 或者,以滑鼠右鍵按一下 SSDT 方案總管視窗中的套件節點來顯示功能表。 接下來,選取 [在 Azure 中執行套件] 項目。

    Execute package in Azure

注意

在 Azure 中執行套件需要您有執行中的 Azure-SSIS IR,因此,當您的 Azure-SSIS IR 停止時,對話方塊視窗會隨即出現來將其啟動。 排除任何自訂設定的時間,此程序應該會在 5 分鐘內完成,但 Azure-SSIS IR 加入虛擬網路可能需要大約 20 - 30 分鐘的時間。 在 Azure 中執行套件之後,您可以要停止 Azure-SSIS IR 來管理其執行成本,方法是在 SSDT 的 [方案總管] 視窗中以滑鼠右鍵按一下其節點來顯示功能表,然後選取 [啟動\停止\管理] 項目,前往 ADF 入口網站來執行此作業。

使用執行套件工作

如果您套件包含的執行套件工作參考儲存在本機檔案系統上的子套件,請遵循下列其他步驟:

  1. 將子套件上傳至連結專案的相同 Azure 儲存體帳戶下的 Azure 檔案儲存體,並取得其新的通用命名慣例 (UNC) 路徑,例如:\\YourStorageAccountName.file.core.windows.net\ssdtexecution\YourChildPackage1.dtsx

  2. 將執行套件工作的檔案連線管理員中這些子套件的檔案路徑取代為新的 UNC 路徑

    • 如果執行 SSDT 的本機電腦無法存取新的 UNC 路徑,您可以將其輸入 [檔案連線管理員] 的 [屬性] 面板中
    • 或者,您可以使用檔案路徑的變數,在執行階段尚指派正確的值

如果您的套件包含參考相同專案中子套件的執行套件工作,則不需要執行其他步驟。

切換套件保護層級

在 Azure 中執行 SSIS 套件不支援 EncryptSensitiveWithUserKey/EncryptAllWithUserKey 保護層級。 因此,如果您的套件設定為使用這些層級,我們會分別將套件暫時轉換為使用 EncryptSensitiveWithPassword/EncryptAllWithPassword 保護層級。 當我們將套件上傳至 Azure 檔案儲存體,以在 Azure-SSIS IR 上執行時,我們也會隨機產生加密密碼。

注意

如果您套件包含的「執行套件工作」參考設定為使用 EncryptSensitiveWithUserKey/EncryptAllWithUserKey 保護層級的子套件,您必須在執行套件之前,手動將這些子套件重新設定為使用 EncryptSensitiveWithPassword/EncryptAllWithPassword 保護層級。

如果您的套件已設定為使用 EncryptSensitiveWithPassword/EncryptAllWithPassword 保護層級,我們會維持不變。 當我們將套件上傳至 Azure 檔案儲存體,以在 Azure-SSIS IR 上執行時,我們仍會隨機產生加密密碼。

切換套件執行環境

如果您在專案部署模型中將專案/套件參數化,您可以建立多個 VS 設定來切換套件執行環境。 如此一來,您就可以在執行階段上將環境專屬值指派給專案/套件參數。 建議您至少具備兩個不同的 VS 設定,分別用於本機和雲端環境中的套件執行,讓您可以針對雲端設定為專案啟用 Azure。 以下是在本機電腦與 Azure 之間切換套件執行環境的逐步範例:

  1. 假設您的套件包含檔案系統工作,可設定檔案的屬性。 當您在本機電腦上執行該工作時,其會設定儲存在本機檔案系統上的檔案屬性。 當您在 Azure-SSIS IR 上執行該工作時,您希望其設定 Azure 檔案儲存體中所儲存檔案的屬性。 首先,建立字串類型的套件參數,並將其命名為 FilePath,以保存目標檔案路徑的值。

    Create package parameter

  2. 接下來,在 [檔案系統工作編輯器] 視窗的 [一般] 頁面上,使用 FilePath 套件參數,將 [來源連線] 區段中的 SourceVariable 屬性參數參數參數化。

    Parameterize source connection

  3. 根據預設,您在名為 Development 的本機環境中,具有可執行套件的現有 VS 設定。 在名為 Azure 的雲端環境中建立用於執行套件的新 VS 設定 (如果您尚未這麼做),請參閱建立新的 VS 設定

  4. 檢視套件的參數時,請選取 [將參數新增至設定] 按鈕,以開啟套件的 [管理參數值] 視窗。 接下來,將目標檔案路徑的不同值指派給 [開發] 和 [Azure] 設定下的 FilePath 套件參數。

    Assign parameter values

  5. 針對雲端設定,為您的專案啟用 Azure (如果您尚未這麼做),請參閱為現有的 SSIS 專案啟用 Azure。 接下來,設定已啟用 Azure 的設定來啟用 Windows 驗證,讓 Azure-SSIS IR 可存取 Azure 檔案儲存體,請參閱設定已啟用 Azure 的設定(如果您尚未這麼做的話)。

  6. 在 Azure 中執行您的套件。 您可以選取 [開發] 設定,將套件執行環境切換回本機電腦。

    Switch Visual Studio Configuration

使用套件設定檔

如果您在套件部署模型中使用套件設定檔,您就可以對套件屬性指派環境專屬值。 我們會將這些檔案與您的套件一起自動上傳至 Azure 檔案儲存體,以在 Azure-SSIS IR 上執行。

檢查套件執行記錄

開始執行套件之後,我們會在 SSDT 的 [進度] 視窗中格式化其記錄並加以顯示。 針對長時間執行的套件,我們會在幾分鐘內定期更新其記錄。 您可以選取 SSDT 工具列中的 [停止] 按鈕,來立即取消套件執行。 您也可以在下列 UNC 路徑中暫時找到其記錄的原始資料:\\<YourStorageAccountName>.file.core.windows.net\ssdtexecution\<YourProjectName-FirstConnectTime>\<YourPackageName-tmp-ExecutionTime>\logs,但我們會在一天之後清除該資料。

目前的限制

  • 已啟用 Azure 的 SSDT 僅支援商業/全球雲端區域,目前不支援政府/國家雲端區域。

一旦您滿意從 SSDT 執行 Azure 中的套件之後,您就可以在 ADF 管線中以執行 SSIS 套件活動的形式部署和執行這些套件,請參閱在 ADF 管線中以執行 SSIS 套件活動的形式執行 SSIS 套件