ADO.NET 連接管理員
適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime
ADO.NET 連線管理員可讓套件使用 .NET 提供者來存取資料來源。 通常,您會使用此連線管理員來存取資料來源,例如 Microsoft SQL Server。 您也可以存取透過自訂工作 (使用如 C# 這類語言以受控程式碼撰寫) 中之 OLE DB 和 XML 公開的資料來源。
當您將 ADO.NET 連線管理員新增至套件時,SQL Server Integration Services 會建立連線管理員,該連線管理員在執行階段會解析為 ADO.NET 連線。 它會設定連線管理員屬性,並將連線管理員加入套件上的 Connections 集合。
連接管理員的 ConnectionManagerType
屬性會設為 ADO.NET
。 系統會限定 ConnectionManagerType
的值,以包含連接管理員使用之 .NET 提供者的名稱。
注意
Microsoft Entra ID 先前稱為 Azure Active Directory (Azure AD)。
對 ADO.NET 連線管理員進行疑難排解
SQL 2022 和以下版本不支援 Microsoft.Data.SqlClient 驅動程式。 如果您需要 msi 或 Microsoft Entra ID 型驗證方法,請改用 Oledb 連線管理員。
您可以記錄 ADO.NET 連線管理員對外部資料提供者執行的呼叫。 然後,您可以針對 ADO.NET 連線管理員的外部資料來源連線進行疑難排解。 若要記錄 ADO.NET 連線管理員對外部資料提供者執行的呼叫,請啟用套件記錄,然後在套件層級選取 [診斷] 事件。 如需詳細資訊,請參閱 封裝執行的疑難排解工具。
由 ADO.NET 連線管理員讀取時,某些 SQL Server 日期資料類型的資料會產生如下表所示的結果。
SQL Server 資料類型 | 結果 |
---|---|
time, datetimeoffset | 除非封裝使用參數化 SQL 命令,否則封裝會失敗。 若要使用參數化 SQL 命令,請在封裝中使用「執行 SQL 工作」。 如需詳細資訊,請參閱 執行 SQL 工作 和 執行 SQL 工作中的參數和傳回碼。 |
datetime2 | ADO.NET 連線管理員會截斷毫秒值。 |
注意
如需 SQL Server 資料類型以及如何將其對應到 Integration Services 資料類型的詳細資訊,請參閱資料類型 (Transact-SQL) 和 Integration Services 資料類型。
ADO.NET 連線管理員設定
您可以透過 SSIS 設計工具或以程式設計方式來設定屬性。
提供設定的特定連接字串,以符合所選 .NET 提供者的需求。
視提供者而定,包含要連接的資料來源名稱。
為所選的提供者提供適當的安全性認證。
指示是否在執行階段保留從連線管理員建立的連線。
ADO.NET 連線管理員的許多組態選項依存於連線管理員使用的 .NET 提供者。
如需您可以在 SSIS 設計工具中設定的屬性相關詳細資訊,請參閱設定 ADO.NET 連線管理員。
如需以程式設計方式設定連線管理員的資訊,請參閱 ConnectionManager 和 以程式設計方式加入連接。
設定 ADO.NET 連線管理員
使用 [設定 ADO.NET 連線管理員] 對話方塊加入資料來源的連線,可使用 .NET Framework 資料提供者來存取此資料來源。 例如,其中一個提供者是 SqlClient 提供者。 連接管理員可以使用現有的連接,或者您也可以建立新的連接。
若要深入了解 ADO.NET 連線管理員,請參閱 ADO.NET 連線管理員。
選項。
資料連接
從清單中選取現有的 ADO.NET 資料連接。
資料連接屬性
檢視選取之 ADO.NET 資料連接的屬性和值。
新增
使用 [連線管理員] 對話方塊來建立 ADO.NET 資料連接。
刪除
選取一個連線,然後選取 [刪除] 來刪除它。
Azure 資源驗證的受控識別
在 Azure Data Factory (ADF) 的 Azure-SSIS Integration Runtime (IR) 上執行 SSIS 套件時,您可以透過 ADF 的受控識別使用 Microsoft Entra 身分驗證來存取 Azure SQL Database/SQL 受控執行個體。 您的 Azure-SSIS IR 可以使用這個受控識別,存取您的資料庫,並從中複製資料或複製資料至其中。
注意
如果使用使用者指派的受控識別進行驗證,必須使用相同的身分識別來啟用 SSIS Integration Runtime。 如需詳細資訊,請參閱<啟用 Azure-SSIS Integration Runtime 的 Microsoft Entra 驗證> (部分機器翻譯)。
若要讓您的 ADF 使用其受控識別來存取 Azure SQL 資料庫,請遵循下列步驟:
在 Azure 入口網站中為您 Azure SQL Database 中的邏輯伺服器佈建 Microsoft Entra 系統管理員 (如果您尚未這麼做)。 Microsoft Entra 系統管理員可以是使用者或群組。 如果將群組指派為系統管理員,而且 ADF 的受控識別是該群組的成員,則可略過步驟 2 和 3。 系統管理員會擁有對您邏輯伺服器的完整存取權。
建立自主資料庫使用者,代表指派給 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 的使用者指派的受控識別,則「受控識別名稱」是受控識別的名稱。
為 ADF 的受控識別授與所需的權限,就像您一般會對 SQL 使用者所做的一樣。 如需適當的角色,請參閱資料庫層級角色 (部分機器翻譯)。 執行下列 T-SQL 陳述式。 如需更多選項,請參閱此文章 (部分機器翻譯)。
EXEC sp_addrolemember [role name], [your managed identity name];
若要使用指派給 ADF 的受控識別來存取 Azure SQL 受控執行個體,請遵循下列步驟:
在 Azure 入口網站中為您的 Azure SQL 受控執行個體佈建 Microsoft Entra 系統管理員 (如果您尚未這麼做)。 Microsoft Entra 系統管理員可以是使用者或群組。 如果將群組指派為系統管理員,而且受控識別是該群組的成員,則可略過步驟 2 至 4。 系統管理員會擁有對您受控執行個體的完整存取權。
為 ADF 的受控識別建立登入。 在 SSMS 中,使用具有系統管理員權限的帳戶或 Microsoft Entra 系統管理員帳戶連線到受控執行個體。在
master
資料庫中,執行下列 T-SQL 語句:CREATE LOGIN [your managed identity name] FROM EXTERNAL PROVIDER;
如果您使用 ADF 的系統指派受控識別,則「受控識別名稱」是您的 ADF 名稱。 如果您使用 ADF 的使用者指派的受控識別,則「受控識別名稱」是受控識別的名稱。
建立自主資料庫使用者,此使用者代表您 ADF 的受控識別。 使用 SSMS 連線到您想要複製其資料或是要複製資料至其中的資料庫,然後執行下列 T-SQL 陳述式:
CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
為 ADF 的受控識別授與所需的權限,就像您一般會對 SQL 使用者所做的一樣。 執行下列 T-SQL 陳述式。 如需更多選項,請參閱此文章 (部分機器翻譯)。
ALTER ROLE [role name e.g., db_owner] ADD MEMBER [your managed identity name];
最後,您可以在 ADO.NET 連線管理員上,設定透過 ADF 的受控識別使用 Microsoft Entra 身分身分驗證。 有兩個選項可以執行此操作:
在設計階段設定。 在 SSIS 設計工具中,以滑鼠右鍵按一下 [ADO.NET 連線管理員],然後選取 [屬性]。 將
ConnectUsingManagedIdentity
屬性更新為True
。注意
目前,當您在 SSIS Designer 或 SQL Server 上執行套件時,連線管理員屬性
ConnectUsingManagedIdentity
並不會生效 (表示無法透過 ADF 的受控識別使用 Microsoft Entra 身分驗證)。在執行階段設定。 當您透過 SSMS 或 ADF 管線中的執行 SSIS 套件活動來執行您的套件時,請尋找 ADO.NET 連線管理員,並將其
ConnectUsingManagedIdentity
屬性更新為True
。注意
在 Azure-SSIS IR 上,透過 ADF 的受控識別使用 Microsoft Entra 身分驗證時,將會覆寫在您的 ADO.NET 連線管理員上預先設定的所有其他身分驗證方法 (例如整合式安全性和密碼)。
若要在您現有的套件上設定透過 ADF 的受控識別使用 Microsoft Entra 身分驗證,建議的方法是使用最新的 SSIS Designer 重建您的 SSIS 專案至少一次。 重新部署您的 SSIS 專案以在 Azure-SSIS IR 上執行,使新的連線管理員屬性 ConnectUsingManagedIdentity
自動新增至您專案中的所有 ADO.NET 連線管理員。 替代方案是在執行階段直接使用屬性覆寫,將屬性路徑 \Package.Connections[{您連線管理員的名稱}].Properties[ConnectUsingManagedIdentity] 指派至 True
。