OLEDB 連線管理員

適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime

OLEDB 連線管理員可讓套件使用 OLEDB 提供者連線至資料來源。 例如,連線至 SQL Server 的 OLEDB 連線管理員可以針對 SQL Server 使用 Microsoft OLEDB 提供者。

注意

SQL Server Native Client Native Client 11.0 OLEDB 提供者不支援針對多重子網路容錯移轉叢集使用新連接字串關鍵字 (MultiSubnetFailover=True)。 如需詳細資訊,請參閱 SQL Server 版本資訊 \(英文\)。

注意

如果資料來源為 Microsoft Office Excel 2007 或 Microsoft Office Access 2007,則資料來源需要舊版 Excel 或 Access 以外的資料提供者。 如需詳細資訊,請參閱 連接至 Excel 活頁簿連接至 Access 資料庫

數個 SQL Server Integration Services 工作與資料流程元件會使用 OLEDB 連線管理員。 例如,OLEDB 來源與 OLEDB 目的地會使用此連線管理員來擷取及載入資料。 「執行 SQL 工作」可以使用此連線管理員來連線到 SQL Server 資料庫以執行查詢。

您也可以使用 OLEDB 連線管理員來存取以非受控程式碼 (使用如 C++ 等語言) 撰寫之自訂工作中的 OLEDB 資料來源。

當您將 OLEDB 連線管理員新增至套件時,Integration Services 會建立在執行階段解析為 OLEDB 連線的連線管理員、設定連線管理員屬性,並將連線管理員新增至套件上的 Connections 集合。

連接管理員的 ConnectionManagerType 屬性會設為 OLEDB

以下列方式設定 OLEDB 連線管理員:

  • 提供設定的特定連接字串,以符合所選取提供者的需求。

  • 視提供者而定,包含要連接的資料來源名稱。

  • 為所選的提供者提供適當的安全性認證。

  • 指示是否在執行階段保留從連線管理員建立的連線。

注意

Microsoft Entra 標識符 先前稱為 Azure Active Directory (Azure AD)。

記錄呼叫和對連線進行疑難排解

您可以記錄 OLEDB 連線管理員對外部資料提供者執行的呼叫。 您可以對 OLEDB 連線管理員所進行的外部資料來源連線進行疑難排解。 若要記錄 OLEDB 連線管理員對外部資料提供者執行的呼叫,請啟用套件記錄,然後在套件層級選取 [診斷] 事件。 如需詳細資訊,請參閱 封裝執行的疑難排解工具

設定 OLEDB 連線管理員

您可以透過 SSIS 設計工具或以程式設計方式來設定屬性。 如需可在 SSIS 設計師中設定之屬性的詳細資訊,請參閱設定 OLEDB 連線管理員。 如需以程式設計方式設定連線管理員的相關資訊,請參閱《開發人員指南》中 T:Microsoft.SqlServer.Dts.Runtime.ConnectionManager 類別的文件集。

設定 OLEDB 連線管理員

使用 [設定 OLEDB 連線管理員] 對話方塊,將連線新增至資料來源。 此連線可以是新的或現有連線的複本。

注意

如果資料來源為 Microsoft Office Excel 2007,則資料來源需要舊版 Excel 以外的連線管理員。 如需詳細資訊,請參閱 連接至 Excel 活頁簿

如果資料來源為 Microsoft Office Access 2007,則資料來源需要舊版 Access 以外的 OLEDB 提供者。 如需詳細資訊,請參閱 連接至 Access 資料庫

若要深入了解 OLEDB 連線管理員,請參閱 OLEDB 連線管理員 (部分機器翻譯)。

選項。

資料連接
從清單中選取現有的 OLEDB 資料連線。

資料連接屬性
檢視選取之 OLEDB 資料連線的屬性與值。

新增
使用 [連線管理員] 對話方塊來建立 OLEDB 資料連線。

刪除
選取一個資料連線,然後選取 [刪除] 來刪除它。

Azure 資源驗證的受控識別

Azure Data Factory (ADF) 的 Azure-SSIS Integration Runtime (IR) 上執行 SSIS 套件時,您可以透過 ADF 的系統指定/使用者指派的受控識別來存取 Microsoft Entra 身分驗證。 您的 Azure-SSIS IR 可以使用這個受控識別,存取您的資料庫,並從中複製資料或複製資料至其中。

注意

  • 如果使用使用者指派的受控識別進行驗證,必須使用相同的身分識別來啟用 SSIS Integration Runtime。 如需詳細資訊,請參閱<啟用 Azure-SSIS Integration Runtime 的 Microsoft Entra 驗證> (部分機器翻譯)。

  • 如果使用 Microsoft Entra 身分驗證來存取 Azure SQL Database 伺服器/Azure SQL 受控執行個體,可能會遇到有關套件執行失敗或非預期行為變更的問題。 如需詳細資訊,請參閱<Microsoft Entra 功能和限制> (部分機器翻譯)。

若要透過 ADF 的受控識別使用 Microsoft Entra 身分驗證來存取 Azure SQL Database 伺服器,請遵循下列步驟:

  1. 在 Azure 入口網站中為您的邏輯伺服器佈建 Microsoft Entra 系統管理員 (如果您尚未這麼做)。 Microsoft Entra 系統管理員可以是 Microsoft Entra 使用者或群組。 如果將群組指派為系統管理員,您可以將 ADF 的受控識別新增至群組,並略過步驟 2 和 3。 系統管理員會擁有對您 Azure SQL Database 邏輯伺服器的完整存取權。

  2. 為 ADF 的受控識別建立自主資料庫使用者。 透過至少具有 ALTER ANY USER 權限的 Microsoft Entra 使用者,使用 SQL Server Management Studio (SSMS) 連線到資料庫。 執行下列 T-SQL 陳述式:

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    

    如果您使用 ADF 的系統指派受控識別,則「受控識別名稱」應該是您的 ADF 名稱。 如果您針對 ADF 使用使用者指派的受控識別,則「受控識別名稱」 應該是指定的使用者指派受控識別名稱。

  3. 為 ADF 的受控識別授與所需的權限,就像您一般會對 SQL 使用者所做的一樣。 如需適當的角色,請參閱資料庫層級角色 (部分機器翻譯)。 執行下列 T-SQL 陳述式。 如需更多選項,請參閱此文章 (部分機器翻譯)。

    EXEC sp_addrolemember [role name], [your managed identity name];
    

若要透過 ADF 的受控識別使用 Microsoft Entra 身分驗證來存取 Azure SQL 受控執行個體,請遵循下列步驟:

  1. 在 Azure 入口網站中為您的 Azure SQL 受控執行個體佈建 Microsoft Entra 系統管理員 (如果您尚未這麼做)。 Microsoft Entra 系統管理員可以是 Microsoft Entra 使用者或群組。 如果將群組指派為系統管理員,您可以將 ADF 的受控識別新增至群組,並略過步驟 2 和 3。 系統管理員會擁有對您 Azure SQL 受控執行個體的完整存取權。

  2. 建立登入並將其指派給 ADF 的受控識別。 在 SSMS 上,使用具有 sysadmin 身分的 SQL Server 帳戶連線至您的 Azure SQL 受控執行個體。 在 master 資料庫中,執行下列 T-SQL 陳述式:

    CREATE LOGIN [your managed identity name] FROM EXTERNAL PROVIDER;
    

    如果您針對 ADF 使用系統受控識別,則「受控識別名稱」應該是您的 ADF 名稱。 如果您針對 ADF 使用使用者指派的受控識別,則「受控識別名稱」 應該是指定的使用者指派受控識別名稱。

  3. 建立自主資料庫使用者,此使用者代表您 ADF 的受控識別。 使用 SSMS 連線到您想要來回複製資料的資料庫,然後執行下列 T-SQL 陳述式:

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    
  4. 為 ADF 的受控識別授與所需的權限,就像您一般會對 SQL 使用者所做的一樣。 執行下列 T-SQL 陳述式。 如需更多選項,請參閱此文章 (部分機器翻譯)。

    ALTER ROLE [role name e.g., db_owner] ADD MEMBER [your managed identity name];
    

然後,您可以在 OLEDB 連線管理員上設定 OLEDB 提供者。 有兩個選項可以執行此操作:

  • 在設計階段設定。 在 SSIS 設計師中,按兩下您的 OLEDB 連線管理員,以開啟 [連線管理員] 視窗。 在 [提供者] 下拉式清單中,選取 [Microsoft OLEDB Driver for SQL Server]。

    注意

    下拉式清單中的其他提供者可能不支援透過 ADF 的受控識別使用 Microsoft Entra 身分驗證。

  • 在執行階段設定。 當您透過 SSMS (部分機器翻譯) 或 ADF 管線中的執行 SSIS 套件活動 (部分機器翻譯) 來執行您的套件時,請尋找適用於 OLEDB 連線管理員的連線管理員屬性 ConnectionString。 將連線屬性 Provider 更新為 MSOLEDBSQL (也就是 Microsoft OLEDB Driver for SQL Server)。

    Data Source=serverName;Initial Catalog=databaseName;Provider=MSOLEDBSQL;...
    

您現在可以在 OLEDB 連線管理員上設定透過 ADF 的受控識別使用 Microsoft Entra 身分驗證。 有兩個選項可以執行此操作:

  • 在設計階段設定。 在 SSIS 設計師中,以滑鼠右鍵按一下您的 OLEDB 連線管理員,然後選取 [屬性]。 將 ConnectUsingManagedIdentity 屬性更新為 True

    注意

    目前,當您在 SSIS Designer 或 SQL Server 上執行套件時,連線管理員屬性 ConnectUsingManagedIdentity 並不會生效 (表示無法透過 ADF 的受控識別使用身分驗證)。

  • 在執行階段設定。 當您透過 SSMS (部分機器翻譯) 或 ADF 管線中的執行 SSIS 套件活動 (部分機器翻譯) 來執行您的套件時,請尋找 OLEDB 連線管理員並將其 ConnectUsingManagedIdentity 屬性更新為 True

    注意

    在 Azure-SSIS IR 上,透過受控識別使用 Microsoft Entra 身分驗證時,會覆寫在您的 OLEDB 連線管理員上預先設定的所有其他身分驗證方法 (例如整合式安全性與密碼)。

若要在您現有的套件上設定透過 ADF 的受控識別使用 Microsoft Entra 身分驗證,建議的方法是使用最新的 SSIS Designer 重建您的 SSIS 專案至少一次。 重新部署您的 SSIS 專案以在 Azure-SSIS IR 上執行,以使新的連線管理員屬性 ConnectUsingManagedIdentity 自動新增至您專案中的所有 OLEDB 連線管理員。 替代方案是在執行階段使用屬性覆寫,將屬性路徑 \Package.Connections[{您連線管理員的名稱}].Properties[ConnectUsingManagedIdentity] 指派至 True

另請參閱