lunes, 11 de julio de 2011

Como acceder a tablas en diferentes bases de datos utilizando SQL SERVER (LINKED SERVERS)

En algún momento de nuestras vidas como desarrolladores vamos a necesitar realizar alguna consulta que requiera múltiples origenes de datos; es decir traer información de la tabla A en el Servidor 1 y datos de la tabla B en el servidor 2 para luego por ejemplo unirlas o realizar un join o lo que se les ocurra.

Para esto sql server trae la tecnología Linked Servers la cual permite enlazar diferentes orígenes de datos ODBC y consultarlos en el servidor como si fuesen locales tan solo agregando el descriptor del origen en la consulta

por ejemplo:

si deseamos consultas la tabla empleados desde nuestro servidor pero esta se encuentra en otro servidor; podriamos realizarlo de la siguiente forma

SELECT * FROM ServidorFicticio.dbo.Empleados

donde ServidorFicticio es el nombre de la instancia de servidor asociado actual

Este tipo de consultas son llamas consultas distribuidas y pueden ser muy utiles para homogenizar entornos de bases de datos heterogeneos como se puede apreciar en la siguiente imagen cortesia de nuestros amigos de Microsoft




Para mas informacion acerca de este tema pueden navegar en los siguientes links

Linking Servers
Creando Linked Servers

1 comentario:

  1. Mi comentario pasado no se submitio.
    Tenia una pregunta y es esta:

    Que pasa si hay algo de T-SQL que no sabe inetretar ORACLE o DB2 o POSTGRES o lo que sea. Ese servidor OLE DB se sabe toda la sintaxis de todos los otros DBMS? y hace la respectiva conversión?

    Bueno, algo asi era mi pregunta...

    ResponderEliminar