Solución de errores del proveedor OLE DB para servidores vinculados

Número de KB original: 2555855

Summary

Este artículo le ayuda a resolver los errores del proveedor OLE DB que se producen al ejecutar consultas T-SQL a través de servidores vinculados o consultas ad hoc mediante OPENROWSET o OPENDATASOURCE en Microsoft SQL Server. Estos errores suelen indicar que el proveedor OLE DB no está instalado, no está registrado o no coincide con la arquitectura de SQL Server.

Síntomas

Al ejecutar consultas T-SQL que usan servidores vinculados o consultas ad hoc (mediante OPENROWSET o OPENDATASOURCE), puede recibir uno de los siguientes mensajes de error:

El proveedor OLE DB "<ProviderName>" no se ha registrado. (Microsoft SQL Server, Error: 7403)

No se puede crear una instancia del proveedor OLE DB "<ProviderName>" para el servidor vinculado "<LinkedServerName>". (Microsoft SQL Server, Error: 7302)

Estos errores también se pueden producir después de que usted:

  • Migre SQL Server de un equipo a otro.
  • Restaure la master base de datos desde un servidor diferente.

Causa

SQL Server no puede inicializar el proveedor OLE DB especificado por uno de los siguientes motivos:

  • El proveedor o controlador OLE DB no está instalado en el servidor.
  • El proveedor instalado no coincide con la arquitectura de SQL Server (x86 frente a x64).
  • El proveedor OLE DB está instalado pero no registrado correctamente.

Nota:

Al crear un servidor vinculado mediante sp_addlinkedserver, SQL Server no notifica inmediatamente errores relacionados con la disponibilidad del proveedor. Estos errores solo aparecen cuando se ejecuta una consulta que usa el servidor vinculado.

Solución

Para resolver el problema, siga los pasos de cada sección en el orden especificado.

Comprobación de los proveedores o controladores OLE DB instalados

Compruebe qué proveedores o controladores OLE DB están registrados en la instancia de SQL Server mediante uno de los métodos siguientes:

  • En SQL Server Management Studio (SSMS), expanda Server Objects>Linked Servers>Providers para ver la lista de proveedores o controladores OLE DB registrados.

  • Ejecute la consulta siguiente para ver todos los servidores vinculados definidos y sus proveedores o controladores asociados:

    SELECT * FROM sys.servers;
    

    Para obtener más información sobre las columnas que se devuelven, vea sys.servers (Transact-SQL).

Comprobación del proveedor o la instalación del controlador

Compruebe que el proveedor OLE DB correcto está instalado y coincide con la arquitectura de SQL Server:

  1. Compruebe si el proveedor requerido por el servidor vinculado está presente en la lista de proveedores de Verify the installed OLE DB providers or drivers (Comprobar los controladores o proveedores OLE DB instalados).

  2. Si el proveedor no está presente, instálelo.

    • Para Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL): Descargue la versión más reciente de la página de descarga del controlador OLE DB de Microsoft.
    • Para proveedores o controladores de terceros: Póngase en contacto con el proveedor para obtener el instalador correcto.
  3. Asegúrese de que la versión del proveedor coincide con la arquitectura de SQL Server. Por ejemplo, instale el proveedor de 64 bits para una instancia de SQL Server de 64 bits.

Para obtener más métodos para comprobar el proveedor, consulte Comprobación de instalación del controlador OLE DB.

Registro del proveedor OLE DB

Si el archivo DLL del proveedor existe en el disco pero no está registrado, vuelva a instalar el proveedor o controlador mediante los pasos descritos en Comprobación de la instalación del proveedor o del controlador. La reinstalación garantiza que el archivo DLL esté registrado correctamente.

Comprobación de la conectividad del proveedor

Use un archivo de vínculo de datos universal (UDL) para comprobar que el proveedor OLE DB puede conectarse al origen de datos de destino:

  1. Cree un nuevo archivo de prueba .udl .
  2. Haga doble clic en el archivo .udl para abrir el cuadro de diálogo Propiedades del vínculo de datos .
  3. Seleccione la pestaña Proveedor y elija el proveedor OLE DB de la lista.
  4. En la pestaña Conexión , escriba el nombre del servidor y los detalles de autenticación.
  5. Seleccione Probar conexión para comprobar la conectividad.

Para obtener instrucciones detalladas, consulte Probar la conectividad OLE DB a SQL Server utilizando un archivo UDL.

Aviso de declinación de responsabilidades sobre la información de terceros

Los productos de terceros que describe este artículo son fabricados por empresas independientes de Microsoft. Microsoft no ofrece ninguna garantía, implícita o de otro modo, sobre el rendimiento o confiabilidad de estos productos.