在 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 受控執行個體所裝載的 SSIS 目錄 (SSISDB) 佈建 Azure-SSIS IR
- 透過 Azure SQL 受控執行個體代理程式作業執行 SSIS 套件
- 透過 Azure SQL 受控執行個體代理程式作業清除 SSISDB 記錄
- 使用 Azure SQL 受控執行個體進行 Azure-SSIS IR 容錯移轉
- 將內部部署 SSIS 工作負載遷移至 ADF 中的 SSIS
使用由 Azure SQL 受控執行個體 裝載的 SSISDB 布建 Azure-SSIS IR
必要條件
選擇 Microsoft Entra 驗證時,在Azure SQL 受控執行個體 上啟用 Microsoft Entra 識別碼。
選擇如何透過私人端點或公用端點連線SQL 受管理執行個體:
透過私人端點 (慣用)
透過公用端點
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 之間的流量:
輸入SQL 受管理執行個體 需求,以允許來自 Azure-SSIS IR 的輸入流量。
傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍 TCP Azure-SSIS IR 的靜態 IP 位址
如需詳細資訊,請參閱 為 Azure-SSIS IR 攜帶您自己的公用 IP。* VirtualNetwork 3342 Azure-SSIS IR 的輸出需求,以允許輸出流量SQL 受管理執行個體。
傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍 TCP VirtualNetwork * SQL 受管理執行個體公用端點 IP 位址 3342
設定虛擬網路
使用者許可權 。 建立 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 許可權。
虛擬網路。
請確定虛擬網路的資源群組可以建立和刪除特定 Azure 網路資源。
Azure-SSIS IR 必須在與虛擬網路相同的資源群組下建立特定網路資源。 這些資源包括:
- Azure 負載平衡器,名稱為 < Guid-azurebatch-cloudserviceloadbalancer >
- 網路安全性群組,名稱為 * < Guid-azurebatch-cloudservicenetworksecuritygroup >
- 名稱為 -azurebatch-cloudservicepublicip 的 Azure 公用 IP 位址
當您的 Azure-SSIS IR 啟動時,將會建立這些資源。 當您的 Azure-SSIS IR 停止時,將會刪除它們。 為了避免阻止您的 Azure-SSIS IR 停止,請勿在其他資源中重複使用這些網路資源。
請確定您沒有 虛擬網路所屬資源群組/訂用帳戶的資源鎖定 。 如果您設定唯讀/刪除鎖定,啟動和停止 Azure-SSIS IR 將會失敗,或停止回應。
請確定您沒有Azure 原則定義,可防止在虛擬網路所屬的資源群組/訂用帳戶下建立下列資源:
- Microsoft.Network/LoadBalancers
- Microsoft.Network/NetworkSecurityGroups
允許網路安全性群組 (NSG) 規則上的流量,以允許SQL 受管理執行個體與 Azure-SSIS IR 之間的流量,以及 Azure-SSIS IR 所需的流量。
輸入SQL 受管理執行個體 需求,以允許來自 Azure-SSIS IR 的輸入流量。
傳輸通訊協定 來源 來源埠範圍 Destination 目的地埠範圍 註解 TCP VirtualNetwork * VirtualNetwork 1433, 11000-11999 如果您的SQL 資料庫伺服器連線原則設定為 Proxy , 而不是 [重新 導向],則只需要端口 1433。 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 套件時,才需要此規則。 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 輸出以進行保護。
如需詳細資訊,請參閱 虛擬網路組態 :
- 如果您為 Azure-SSIS IR 自備公用 IP 位址
- 如果您使用自己的網域名稱系統 (DNS) 伺服器
- 如果您使用 Azure ExpressRoute 或使用者定義的路由 (UDR)
- 如果您使用自訂的 Azure-SSIS IR
布建 Azure-SSIS Integration Runtime
選取SQL 受管理執行個體私人端點或公用端點。
在 Azure 入口網站/ADF 應用程式中布建 Azure-SSIS IR 時 ,請在 [SQL 設定] 頁面上,在建立 SSIS 目錄 (SSISDB) 時,使用SQL 受管理執行個體 私人端點 或 公用端點 。
公用端點主機名稱的格式 < 為 mi_name.public > 。 <dns_zone.database.windows.net > ,用於連線的埠為 3342。
套用時選取 [Microsoft Entra 驗證]。
如需如何啟用 Microsoft Entra 驗證的詳細資訊,請參閱 在 Azure SQL 受控執行個體 上啟用 Microsoft Entra ID。
套用時,將 Azure-SSIS IR 加入虛擬網路。
在進階設定頁面上,選取要加入虛擬網絡和子網。
在與SQL 受管理執行個體相同的虛擬網路內時,請選擇 與SQL 受管理執行個體不同的子網 。
如需如何將 Azure-SSIS IR 加入虛擬網路的詳細資訊,請參閱 將 Azure-SSIS 整合執行時間加入虛擬網路 。
如需如何建立 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 受管理執行個體代理程式作業執行以觸發預存程式。