在 Azure Data Factory 或 Azure Synapse Analytics 中搭配 SQL Server Integration Services (SSIS) 使用Azure SQL 受控執行個體

適用于: Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用于企業的單一分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告等所有專案。 瞭解如何 免費啟動新的試用版

您現在可以將 SQL Server Integration Services (SSIS) 專案、套件和工作負載移至 Azure 雲端。 在 Azure SQL 資料庫或SQL 受管理執行個體上部署、執行及管理 SSIS 專案和套件,以及熟悉的工具,例如 SQL Server Management Studio (SSMS)。 本文強調搭配 Azure-SSIS 整合執行時間使用Azure SQL 受控執行個體時,下列特定區域:

使用由 Azure SQL 受控執行個體 裝載的 SSISDB 布建 Azure-SSIS IR

必要條件

  1. 選擇 Microsoft Entra 驗證時,在Azure SQL 受控執行個體 上啟用 Microsoft Entra 識別碼。

  2. 選擇如何透過私人端點或公用端點連線SQL 受管理執行個體:

    • 透過私人端點 (慣用)

      1. 選擇要加入 Azure-SSIS IR 的虛擬網路:

        • 在與受控實例相同的虛擬網路內,具有 不同的子網
        • 在與受控實例不同的虛擬網路內,透過虛擬網路對等互連(由於全域 VNet 對等互連條件約束而受限於相同區域),或從虛擬網路到虛擬網路的連線。

        如需SQL 受管理執行個體連線的詳細資訊,請參閱 將應用程式連線 Azure SQL 受控執行個體。

      2. 設定虛擬網路

    • 透過公用端點

      Azure SQL 受控執行個體可以透過 公用端點 提供連線。 輸入和輸出需求必須符合,才能允許SQL 受管理執行個體與 Azure-SSIS IR 之間的流量:

      • 當 Azure-SSIS IR 不在虛擬網路內時(慣用)

        輸入SQL 受管理執行個體 需求,以允許來自 Azure-SSIS IR 的輸入流量。

        傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍
        TCP Azure 雲端服務標籤 * VirtualNetwork 3342

        如需詳細資訊,請參閱 允許網路安全性群組 上的公用端點流量。

      • 虛擬網路內的 Azure-SSIS IR 時

        當SQL 受管理執行個體位於 Azure-SSIS IR 不支援的區域時,Azure-SSIS IR 會因為全域 VNet 對等互連限制而不在虛擬網路內,而沒有 VNet 對等互連。 在此案例中, 虛擬網路 內的 Azure-SSIS IR 會透過公用端點 連線SQL 受管理執行個體 。 使用下列網路安全性群組(NSG) 規則來允許SQL 受管理執行個體與 Azure-SSIS IR 之間的流量:

        1. 輸入SQL 受管理執行個體 需求,以允許來自 Azure-SSIS IR 的輸入流量。

          傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍
          TCP Azure-SSIS IR 的靜態 IP 位址
          如需詳細資訊,請參閱 為 Azure-SSIS IR 攜帶您自己的公用 IP。
          * VirtualNetwork 3342
        2. Azure-SSIS IR 的輸出需求,以允許輸出流量SQL 受管理執行個體。

          傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍
          TCP VirtualNetwork * SQL 受管理執行個體公用端點 IP 位址 3342

設定虛擬網路

  1. 使用者許可權 。 建立 Azure-SSIS IR 的使用者必須至少在 Azure Data Factory 資源上擁有 角色指派 ,且具有下列其中一個選項:

    • 使用內建的網路參與者角色。 此角色隨附 于 Microsoft.Network/* 許可權,其範圍比必要範圍大得多。
    • 建立僅包含必要 Microsoft.Network/virtualNetworks/*/join/action 許可權的 自訂角色。 如果您想要在將 Azure-SSIS IR 加入 Azure Resource Manager 虛擬網路時攜帶自己的公用 IP 位址,也請在 角色中包含 Microsoft.Network/publicIPAddresses/*/join/action 許可權。
  2. 虛擬網路

    1. 請確定虛擬網路的資源群組可以建立和刪除特定 Azure 網路資源。

      Azure-SSIS IR 必須在與虛擬網路相同的資源群組下建立特定網路資源。 這些資源包括:

      • Azure 負載平衡器,名稱為 < Guid-azurebatch-cloudserviceloadbalancer >
      • 網路安全性群組,名稱為 * < Guid-azurebatch-cloudservicenetworksecuritygroup >
      • 名稱為 -azurebatch-cloudservicepublicip 的 Azure 公用 IP 位址

      當您的 Azure-SSIS IR 啟動時,將會建立這些資源。 當您的 Azure-SSIS IR 停止時,將會刪除它們。 為了避免阻止您的 Azure-SSIS IR 停止,請勿在其他資源中重複使用這些網路資源。

    2. 請確定您沒有 虛擬網路所屬資源群組/訂用帳戶的資源鎖定 。 如果您設定唯讀/刪除鎖定,啟動和停止 Azure-SSIS IR 將會失敗,或停止回應。

    3. 請確定您沒有Azure 原則定義,可防止在虛擬網路所屬的資源群組/訂用帳戶下建立下列資源:

      • Microsoft.Network/LoadBalancers
      • Microsoft.Network/NetworkSecurityGroups
    4. 允許網路安全性群組 (NSG) 規則上的流量,以允許SQL 受管理執行個體與 Azure-SSIS IR 之間的流量,以及 Azure-SSIS IR 所需的流量。

      1. 輸入SQL 受管理執行個體 需求,以允許來自 Azure-SSIS IR 的輸入流量。

        傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍 註解
        TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 如果您的SQL 資料庫伺服器連線原則設定為 Proxy 而不是 [重新 導向],則只需要端口 1433。
      2. Azure-SSIS IR 的輸出需求,允許輸出流量SQL 受管理執行個體,以及 Azure-SSIS IR 所需的其他流量。

        傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍 註解
        TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 允許輸出流量SQL 受管理執行個體。 如果連線原則設定為 Proxy 而非 重新 導向,則只需要端口 1433。
        TCP VirtualNetwork * AzureCloud 443 虛擬網路中 Azure-SSIS IR 的節點會使用此埠來存取 Azure 服務,例如Azure 儲存體和Azure 事件中樞。
        TCP VirtualNetwork * 網際網路 80 (選擇性)虛擬網路中 Azure-SSIS IR 的節點會使用此埠從網際網路下載憑證撤銷清單。 如果您封鎖此流量,可能會在啟動 IR 時遇到效能降級,並失去檢查憑證撤銷清單以取得憑證使用量的功能。 如果您想要進一步縮小目的地到特定 FQDN 的範圍,請參閱設定 使用者定義的路由(UDR)。
        TCP VirtualNetwork * 儲存體 445 (選擇性)只有在您想要執行儲存在 Azure 檔案儲存體 中的 SSIS 套件時,才需要此規則。
      3. Azure-SSIS IR 的輸入需求,以允許 Azure-SSIS IR 所需的流量。

        傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍 註解
        TCP BatchNodeManagement * VirtualNetwork 29876、29877(如果您將 IR 加入 Resource Manager 虛擬網路)

        10100、20100、30100(如果您將 IR 加入傳統虛擬網路)
        Data Factory 服務會使用這些埠與虛擬網路中 Azure-SSIS IR 的節點通訊。

        無論您是否建立子網層級 NSG,Data Factory 一律會在連結至裝載 Azure-SSIS IR 之虛擬機器的網路介面卡層級上設定 NSG。 該 NIC 層級 NSG 只允許來自指定埠上的 Data Factory IP 位址的輸入流量。 即使您將這些埠開啟至子網層級的網際網路流量,來自非 Data Factory IP 位址的 IP 位址流量也會在 NIC 層級遭到封鎖。
        TCP CorpNetSaw * VirtualNetwork 3389 (選擇性)只有在 Microsoft 支援人員要求客戶開啟進行進階疑難排解時,才需要此規則,而且可以在疑難排解之後立即關閉。 CorpNetSaw 服務標籤只允許 Microsoft 公司網路上的安全存取工作站使用遠端桌面。 您無法從入口網站選取此服務標籤,而且只能透過 Azure PowerShell 或 Azure CLI 取得。

        在 NIC 層級 NSG 上,埠 3389 預設為開啟,我們可讓您控制子網層級 NSG 的埠 3389,同時 Azure-SSIS IR 預設在每個 IR 節點上的 Windows 防火牆規則不允許埠 3389 輸出以進行保護。
    5. 如需詳細資訊,請參閱 虛擬網路組態

      • 如果您為 Azure-SSIS IR 自備公用 IP 位址
      • 如果您使用自己的網域名稱系統 (DNS) 伺服器
      • 如果您使用 Azure ExpressRoute 或使用者定義的路由 (UDR)
      • 如果您使用自訂的 Azure-SSIS IR

布建 Azure-SSIS Integration Runtime

  1. 選取SQL 受管理執行個體私人端點或公用端點。

    在 Azure 入口網站/ADF 應用程式中布建 Azure-SSIS IR 時 ,請在 [SQL 設定] 頁面上,在建立 SSIS 目錄 (SSISDB) 時,使用SQL 受管理執行個體 私人端點 公用端點

    公用端點主機名稱的格式 < 為 mi_name.public > 。 <dns_zone.database.windows.net > ,用於連線的埠為 3342。

    Screenshot shows Integration runtime setup with Create S S I S catalog selected and Catalog database server endpoint entered.

  2. 套用時選取 [Microsoft Entra 驗證]。

    catalog-public-endpoint

    如需如何啟用 Microsoft Entra 驗證的詳細資訊,請參閱 在 Azure SQL 受控執行個體 上啟用 Microsoft Entra ID。

  3. 套用時,將 Azure-SSIS IR 加入虛擬網路。

    在進階設定頁面上,選取要加入虛擬網絡和子網。

    在與SQL 受管理執行個體相同的虛擬網路內時,請選擇 與SQL 受管理執行個體不同的子網

    如需如何將 Azure-SSIS IR 加入虛擬網路的詳細資訊,請參閱 將 Azure-SSIS 整合執行時間加入虛擬網路

    Screenshot shows the Integration runtime setup Advanced settings, where you can select a virtual network for your runtime to join.

如需如何建立 Azure-SSIS IR 的詳細資訊,請參閱 在 Azure Data Factory 中建立 Azure-SSIS 整合執行時間。

清除 SSISDB 記錄

SSISDB 記錄保留原則是由下列catalog.catalog_properties 中的 屬性所定義:

  • OPERATION_CLEANUP_ENABLED

    當值為 TRUE 時,作業詳細資料和作業訊息早于 RETENTION_WINDOW (days) 會從目錄中刪除。 當值為 FALSE 時,所有作業詳細資料和作業訊息都會儲存在目錄中。 注意:SQL Server 作業 (Job) 會執行作業 (Operation) 清除。

  • RETENTION_WINDOW

    作業詳細資訊和作業訊息儲存在目錄中的天數。 當值為 -1 時,保留時間範圍是無限的。 注意:如果不想要使用清除,請將 OPERATION_CLEANUP_ENABLED 設定為 FALSE。

若要移除系統管理員所設定保留視窗外的 SSISDB 記錄,您可以觸發預存程式 [internal].[cleanup_server_retention_window_exclusive] 。 您可以選擇性地排程SQL 受管理執行個體代理程式作業執行以觸發預存程式。