Compartir a través de


Vincular servidores

Una configuración con servidores vinculados permite a SQL Server ejecutar comandos en orígenes de datos OLE DB situados en servidores remotos. Los servidores vinculados ofrecen las siguientes ventajas:

  • Acceso al servidor remoto.

  • Capacidad de ejecutar consultas distribuidas, actualizaciones, comandos y transacciones en orígenes de datos heterogéneos en toda la organización.

  • Capacidad de tratar diferentes orígenes de datos de manera similar.

Componentes de servidores vinculados

Una definición de servidor vinculado especifica los siguientes objetos:

  • Un proveedor OLE DB

  • Un origen de datos OLE DB

Un proveedor OLE DB es una biblioteca DLL que administra un origen de datos específico e interactúa con él. Un origen de datos OLE DB identifica la base datos específica a la que se puede tener acceso mediante OLE DB. Aunque los orígenes de datos en los que se realizan consultas a través de definiciones de servidores vinculados son bases de datos normales, existen proveedores OLE DB para una amplia variedad de archivos y formatos de archivo. Se trata de archivos de texto, datos de hojas de cálculo y los resultados de búsquedas de contenido de texto.

El proveedor OLE DB de MicrosoftSQL Server Native Client (PROGID: SQLNCLI10) es el proveedor OLE DB oficial para SQL Server.

[!NOTA]

Las consultas distribuidas de SQL Server están diseñadas para ser usadas con cualquier proveedor OLE DB que implemente las interfaces OLE DB requeridas. Sin embargo, SQL Server sólo se ha probado con el proveedor OLE DB de SQL Server Native Client y algunos otros. Para obtener más información, vea Proveedores OLE DB probados con SQL Server.

Detalles de servidores vinculados

En la siguiente ilustración se muestran los conceptos básicos de una configuración con servidores vinculados.

Nivel de cliente, nivel de servidor y nivel de servidor de base de datos

Normalmente, los servidores vinculados se utilizan para tratar consultas distribuidas. Cuando una aplicación cliente ejecuta una consulta distribuida mediante un servidor vinculado, SQL Server analiza el comando y envía peticiones a OLE DB. La petición de conjuntos de filas se puede realizar como una consulta al proveedor o abriendo una tabla base del proveedor.

Para que un origen de datos devuelva información mediante un servidor vinculado, el proveedor OLE DB (DLL) para ese origen de datos debe encontrarse en el mismo servidor que la instancia de SQL Server.

Cuando se utiliza un proveedor OLE DB de otro fabricante, la cuenta con la que se ejecuta el servicio de SQL Server debe tener permisos de lectura y ejecución para el directorio y todos los subdirectorios en los que esté instalado el proveedor.

Administrar proveedores

Existe un conjunto de opciones para controlar cómo SQL Server carga y utiliza proveedores OLE DB que se hayan especificado en el registro. Para obtener más información, vea Configurar proveedores OLE DB para consultas distribuidas.

Administrar definiciones de servidores vinculados

Cuando configure un servidor vinculado, registre la información de la conexión y del origen de datos con SQL Server. Una vez realizado el registro, se puede hacer referencia a ese origen de datos con un único nombre lógico.

Puede utilizar procedimientos almacenados y vistas de catálogo para administrar definiciones de servidores vinculados:

  • Cree una definición de servidor vinculado ejecutando sp_addlinkedserver.

  • Vea información acerca de los servidores vinculados definidos en una instancia específica de SQL Server ejecutando una consulta en las vistas de catálogo del sistema sys.servers.

  • Elimine una definición de servidor vinculado ejecutando sp_dropserver. También puede utilizar este procedimiento almacenado para quitar servidores remotos.

También puede definir servidores vinculados mediante SQL Server Management Studio. En el Explorador de objetos, haga clic con el botón secundario en Objetos de servidor, seleccione Nuevo y, a continuación, Servidor vinculado. Para eliminar una definición de servidor vinculado, haga clic con el botón secundario en el nombre del servidor vinculado y seleccione Eliminar.

Cuando ejecute una consulta distribuida en un servidor vinculado, incluya el nombre de cuatro partes completo de una tabla para cada origen de datos en el que desee realizar la consulta. Este nombre de cuatro partes debe tener el formato linked_server_name.catalog**.schema.**object_name. Para obtener más información, vea Consultas distribuidas.