Диспетчер соединений ADO.NET

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Диспетчер подключений ADO.NET позволяет пакету обращаться к источникам данных с помощью поставщика .NET. Как правило, этот диспетчер подключений используется для доступа к источникам данных, таким как Microsoft SQL Server. Кроме того, он обеспечивает доступ к источникам данных, предоставляемым посредством OLE DB и XML в пользовательских задачах, которые реализованы с помощью управляемого кода с использованием таких языков, как C#.

При добавлении диспетчера соединений ADO.NET в пакет SQL Server Integration Services создается диспетчер соединений, который разрешается в качестве ADO.NET подключения во время выполнения. При этом задается свойство диспетчера подключений и диспетчер подключений добавляется в коллекцию подключений пакета.

Свойству ConnectionManagerType диспетчера соединений присваивается значение ADO.NET. Значение ConnectionManagerType уточняется: в него включается имя поставщика .NET, используемого диспетчером соединений.

Примечание.

Идентификатор Microsoft Entra ранее был известен как Azure Active Directory (Azure AD).

Устранение неполадок с диспетчером подключений ADO.NET

Драйвер Microsoft.Data.SqlClient не поддерживается в SQL 2022 и ниже. Если вам нужен метод проверки подлинности на основе идентификаторов MSI или Microsoft Entra, используйте 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

С помощью диалогового окна Настройка диспетчера соединений OLE DB можно добавлять подключения к источнику данных, доступ к которому можно осуществлять с помощью поставщика данных .NET Framework. Например, с помощью поставщика SqlClient. Диспетчер соединений использует существующее соединение, либо можно создать новое.

Дополнительные сведения о диспетчере соединений ADO.NET см. в разделе ADO.NET Connection Manager.

Параметры

Подключения к данным
Выберите из списка существующее подключение к данным ADO.NET.

Свойства подключения к данным
Просмотрите свойства и значения выбранного подключения к данным ADO.NET.

Новый
Создание подключения к данным ADO.NET с помощью диалогового окна Диспетчер соединений .

Удаление
Выберите подключение и затем удалите его, щелкнув Удалить.

Управляемые удостоверения для проверки подлинности ресурсов Azure

При запуске пакетов служб SSIS в среде выполнения интеграции Azure-SSIS (IR) в Фабрика данных Azure (ADF) можно использовать проверку подлинности Microsoft Entra с управляемым удостоверением для ADF для доступа к База данных SQL Azure или Управляемый экземпляр SQL. Azure-SSIS IR может получать доступ к данным и копировать данные из базы данных или из нее с помощью этого управляемого удостоверения.

Примечание.

При проверке подлинности с помощью управляемого удостоверения, назначаемого пользователем, среда выполнения интеграции SSIS должна быть включена с тем же удостоверением. Дополнительные сведения см. в статье "Включение проверки подлинности Microsoft Entra" для среды выполнения интеграции Azure-SSIS.

Чтобы разрешить ADF получить доступ к База данных SQL Azure с помощью управляемого удостоверения, выполните следующие действия.

  1. Подготовьте администратора Microsoft Entra для логического сервера в База данных SQL Azure через портал Azure, если это еще не сделано. Администратор Microsoft Entra может быть пользователем или группой. Если вы назначаете группу администратором, а управляемое удостоверение ADF является членом этой группы, можно пропустить шаги 2 и 3. Администратор имеет полный доступ к логическому серверу.

  2. Создайте пользователя автономной базы данных, чтобы представить управляемое удостоверение, назначенное ADF. Подключитесь к базе данных или в которую требуется скопировать данные с помощью SQL Server Management Studio (SSMS) с пользователем Microsoft Entra, который имеет по крайней мере разрешение ALTER ANY USER. Выполните следующую инструкцию 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 для доступа к Управляемый экземпляр SQL Azure, выполните следующие действия.

  1. Подготовьте администратора Microsoft Entra для Управляемый экземпляр SQL Azure в портал Azure, если вы еще этого не сделали. Администратор Microsoft Entra может быть пользователем или группой. Если вы назначаете группу администратором, а управляемое удостоверение является членом этой группы, можно пропустить шаги 2 – 4. Администратор имеет полный доступ к управляемому экземпляру.

  2. Создайте имя входа для управляемого удостоверения ADF. В SSMS подключитесь к управляемому экземпляру с помощью учетной записи с разрешениями sysadmin или администратора Microsoft Entra. В базе данных выполните следующую инструкцию 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];
    

Наконец, можно настроить проверку подлинности Microsoft Entra с помощью управляемого удостоверения ADF в диспетчере подключений ADO.NET. Это можно сделать такими способами:

  • Настройка во время разработки. В конструкторе SSIS щелкните диспетчер подключений ADO.NET правой кнопкой мыши и выберите Свойства. Установите для свойства ConnectUsingManagedIdentity значение True.

    Примечание.

    Свойство ConnectUsingManagedIdentity диспетчера соединений не действует при запуске пакета в конструкторе служб SSIS или SQL Server, указывая, что проверка подлинности Microsoft Entra с управляемым удостоверением ADF не работает.

  • Настройка во время выполнения. При запуске пакета через SSMS или действие "Выполнить пакет SSIS" в конвейере ADF найдите диспетчер подключений ADO.NET и измените его свойство ConnectUsingManagedIdentity на True.

    Примечание.

    В Azure-SSIS IR все другие методы проверки подлинности (например, встроенная безопасность и пароль), предварительно настроенные в диспетчере подключений ADO.NET, переопределяются при использовании проверки подлинности Microsoft Entra с управляемым удостоверением ADF.

Чтобы настроить проверку подлинности Microsoft Entra с помощью управляемого удостоверения ADF в существующих пакетах, предпочтительный способ — перестроить проект служб SSIS с помощью последнего конструктора служб SSIS по крайней мере один раз. Повторно разверните этот проект SSIS в Azure-SSIS IR, чтобы новое свойство ConnectUsingManagedIdentity диспетчера подключений автоматически добавилось во все диспетчеры подключений ADO.NET в проекте. Кроме того, можно напрямую использовать переопределения свойств с путем свойства \Package.Connections[{имя диспетчера соединений}]. Свойства[ConnectUsingManagedIdentity], назначенные True во время выполнения.

См. также