Compartir vía


Administrador de conexiones de ADO.NET

Se aplica a: SQL Server SSIS Integration Runtime en Azure Data Factory

Un administrador de conexiones ADO.NET permite a un paquete tener acceso a orígenes de datos mediante un proveedor .NET. Normalmente, se usa este administrador de conexiones para acceder a orígenes de datos como Microsoft SQL Server. También puede acceder a orígenes de datos expuestos a través de OLE DB y XML en tareas personalizadas escritas en código administrado mediante un lenguaje como C#.

Cuando se agrega un administrador de conexiones ADO.NET a un paquete, SQL Server Integration Services crea un administrador de conexiones que se resuelve como una conexión ADO.NET en tiempo de ejecución. Establece las propiedades del administrador de conexiones y agrega este a la colección Connections del paquete.

La propiedad ConnectionManagerType del administrador de conexiones se establece en ADO.NET. El valor de ConnectionManagerType se califica para incluir el nombre del proveedor .NET que usa el administrador de conexiones.

Nota:

Microsoft Entra ID era conocido anteriormente como Azure Active Directory (Azure AD).

Solución de problemas del administrador de conexiones ADO.NET

El controlador Microsoft.Data.SqlClient no se admite en SQL 2022 ni en versiones posteriores. Si necesita el método de autenticación basado en Microsoft Entra ID o msi, use el Administrador de conexiones OLEDB en su lugar.

Puede registrar las llamadas realizadas por el administrador de conexiones ADO.NET a proveedores de datos externos. Luego, puede solucionar los problemas relacionados con las conexiones que el administrador de conexiones ADO.NET establece con orígenes de datos externos. Para registrar las llamadas que el administrador de conexiones ADO.NET realiza a proveedores de datos externos, habilite el registro de paquetes y seleccione el evento Diagnostic en el nivel de paquete. Para más información, vea Herramientas para solucionar problemas con la ejecución de paquetes.

Al ser leídos por un administrador de conexiones ADO.NET, los datos de ciertos tipos de datos de fecha de SQL Server generan los resultados que se muestran en la tabla siguiente.

Tipos de datos de SQL Server Resultado
time, datetimeoffset Se produce un error en el paquete a menos que el paquete utilice comandos SQL parametrizados. Para utilizar comandos SQL parametrizados, utilice la tarea Ejecute SQL en el paquete. Para más información, vea Tarea Ejecutar SQL y Parámetros y códigos de retorno en la tarea Ejecutar SQL.
datetime2 El administrador de conexiones ADO.NET trunca el valor de milisegundos.

Nota

Para más información sobre los tipos de datos de SQL Server y cómo se asignan a los tipos de datos de Integration Services, vea Tipos de datos (Transact-SQL) y Tipos de datos de Integration Services.

Configuración del administrador de conexiones ADO.NET

Puede establecer propiedades a través del Diseñador SSIS o mediante programación.

  • Proporcionar una cadena de conexión específica configurada para cumplir con los requisitos del proveedor .NET seleccionado.

  • Según el proveedor, incluir el nombre del origen de datos al cual conectarse.

  • Proporcionar credenciales de seguridad según resulte apropiado para el proveedor seleccionado.

  • Indique si la conexión creada desde el administrador de conexiones se conserva en tiempo de ejecución.

Muchas de las opciones de configuración del administrador de conexiones ADO.NET dependen del proveedor .NET que usa el administrador de conexiones.

Para más información sobre las propiedades que puede configurar en el Diseñador SSIS, consulte Configuración del administrador de conexiones ADO.NET.

Para obtener información sobre la configuración de un administrador de conexiones mediante programación, vea ConnectionManager y Agregar conexiones mediante programación.

Configuración del administrador de conexiones ADO.NET

Utilice el cuadro de diálogo Configurar el administrador de conexiones ADO.NET para agregar una conexión a un origen de datos al que se puede tener acceso mediante un proveedor de datos de .NET Framework. Por ejemplo, un proveedor de este tipo es el proveedor SqlClient. El administrador de conexiones puede utilizar una conexión existente o puede crear una nueva.

Para obtener más información acerca del administrador de conexiones ADO .NET, vea ADO.NET Connection Manager.

Opciones

Conexiones de datos
Seleccione una conexión de datos ADO.NET de la lista.

Propiedades de conexión de datos
Vea las propiedades y los valores de la conexión de datos ADO.NET seleccionada.

Nuevo
Cree una conexión de datos ADO.NET mediante el cuadro de diálogo Administrador de conexiones .

Eliminar
Seleccione una conexión y, luego, Eliminar para eliminarla.

Identidades administradas para la autenticación de los recursos de Azure

Cuando ejecute paquetes SSIS en Azure-SSIS integration runtime (IR) en Azure Data Factory (ADF), puede utilizar la autenticación Microsoft Entra con la identidad administrada para ADF para acceder a Azure SQL Database o SQL Managed Instance. Azure-SSIS IR puede acceder y copiar datos desde o hacia la base de datos mediante esta identidad administrada.

Nota:

Cuando se autentique con una identidad administrada asignada a un usuario, el tiempo de ejecución de la integración SSIS deberá estar habilitado con la misma identidad. Para obtener más información, consulte Habilitar la autenticación de Microsoft Entra para el tiempo de ejecución de integración Azure-SSIS.

Para permitir que ADF acceda a Azure SQL Database mediante su identidad administrada, siga estos pasos:

  1. Aprovisione un administrador de Microsoft Entra para el servidor lógico en Azure SQL Database a través del portal de Azure, si aún no lo ha hecho. El administrador de Microsoft Entra puede ser un usuario o grupo. Si asigna un grupo como administrador y la identidad administrada de ADF es miembro de ese grupo, puede omitir los pasos 2 y 3. El administrador tiene acceso completo al servidor lógico.

  2. Cree un usuario de base de datos independiente para representar la identidad administrada asignada para ADF. Conéctese a la base de datos de la que quiera copiar datos (o a la que quiera copiarlos) mediante SQL Server Management Studio (SSMS) con un usuario de Microsoft Entra que tenga al menos permiso ALTER ANY USER. Ejecute la instrucción T-SQL siguiente:

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

    Si usa la identidad administrada asignada por el sistema para ADF, entonces el nombre de su identidad administrada es el nombre de ADF. Si usa una identidad administrada asignada por el usuario para ADF, entonces su nombre de identidad administrada es el nombre de la identidad administrada.

  3. Conceda a la identidad administrada para ADF los permisos necesarios, como se suele hacer para los usuarios de SQL. Vea Roles de nivel de base de datos para obtener los roles adecuados. Ejecute la instrucción T-SQL siguiente. Para obtener más opciones, vea este artículo.

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

Para utilizar una identidad administrada asignada a ADF para acceder a Azure SQL Managed Instance, siga estos pasos:

  1. Aprovisione un administrador de Microsoft Entra para Azure SQL Managed Instance en Azure Portal, si aún no lo ha hecho. El administrador de Microsoft Entra puede ser un usuario o grupo. Si asigna un grupo como administrador y la identidad administrada es miembro de ese grupo, puede omitir los pasos 2 a 4. El administrador tiene acceso total a la instancia administrada.

  2. Cree un inicio de sesión para la identidad administrada de ADF. En SSMS, conéctese a la instancia administrada mediante una cuenta con permisos sysadmin o el administrador de Microsoft Entra. En la base de datos master, ejecute la siguiente instrucción T-SQL:

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

    Si usa la identidad administrada asignada por el sistema para ADF, entonces el nombre de su identidad administrada es el nombre de ADF. Si usa una identidad administrada asignada por el usuario para ADF, entonces su nombre de identidad administrada es el nombre de la identidad administrada.

  3. Cree un usuario de base de datos independiente que represente la identidad administrada para ADF. Conéctese a la base de datos de la que desea copiar datos mediante SSMS y ejecute la siguiente instrucción T-SQL:

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    
  4. Conceda a la identidad administrada para ADF los permisos necesarios, como se suele hacer para los usuarios de SQL. Ejecute la instrucción T-SQL siguiente. Para obtener más opciones, vea este artículo.

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

Por último, puede configurar la autenticación Microsoft Entra con la identidad administrada de ADF en el administrador de conexiones ADO.NET. Estas son las opciones para hacerlo:

  • Configurarla durante su diseño. En el Diseñador SSIS, haga clic con el botón derecho en el administrador de conexiones de ADO.NET y seleccione Propiedades. Actualice la propiedad ConnectUsingManagedIdentity a True.

    Nota:

    La propiedad del administrador de conexiones ConnectUsingManagedIdentity no tiene efecto cuando ejecuta su paquete en SSIS Designer o en SQL Server, lo que indica que la autenticación de Microsoft Entra con la identidad administrada de ADF no funciona.

  • Configurarla durante su ejecución. Al ejecutar el paquete mediante SSMS o la canalización de la actividad Ejecutar paquete SSIS de Azure Data Factory, busque el administrador de conexiones de ADO.NET y actualice su propiedad ConnectUsingManagedIdentity a True.

    Nota:

    En Azure-SSIS IR, todos los demás métodos de autenticación (por ejemplo, seguridad integrada y contraseña) preconfigurados en el administrador de conexiones de ADO.NET se invalidan cuando se usa la autenticación de Microsoft Entra con la identidad administrada para ADF.

Para configurar la autenticación de Microsoft Entra con la identidad administrada de ADF en sus paquetes existentes, la forma preferida es reconstruir su proyecto SSIS con el Diseñador SSIS más reciente al menos una vez. Vuelva a implementar el proyecto de SSIS para que se ejecute en Azure-SSIS IR, de modo que la nueva propiedad ConnectUsingManagedIdentity del administrador de conexiones se agregue automáticamente a todos los administradores de conexiones de ADO.NET del proyecto. Como alternativa, puedes utilizar directamente anulaciones de propiedades con la ruta de propiedades \Package.Connections[{el nombre de tu administrador de conexiones}].Properties[ConnectUsingManagedIdentity] asignada a True en tiempo de ejecución.

Consulte también