sql >> Base de Datos >  >> RDS >> Sqlserver

Consulta de ejemplo de servidor vinculado de SQL Server

El formato probablemente debería ser:

<server>.<database>.<schema>.<table>

Por ejemplo:DatabaseServer1.db1.dbo.table1

Actualizar :Sé que esta es una vieja pregunta y la respuesta que tengo es correcta; sin embargo, creo que cualquier otra persona que se tope con esto debería saber algunas cosas.

Es decir, cuando se consulta en un servidor vinculado en una situación de combinación, TODO la tabla del servidor vinculado probablemente descargarse en el servidor desde el que se ejecuta la consulta para realizar la operación de combinación. En el caso del OP, tanto table1 de DB1 y table1 de DB2 serán transferidos en su totalidad al servidor que ejecuta la consulta, presumiblemente llamado DB3 .

Si tiene mesas grandes, esto puede resultar en una operación que toma mucho tiempo para ejecutarse. Después de todo, ahora está limitado por las velocidades del tráfico de la red, que son órdenes de magnitud más lentas que la memoria o incluso las velocidades de transferencia del disco.

Si es posible, realice una sola consulta en el servidor remoto, sin unirse a una tabla local, para extraer los datos que necesita en una tabla temporal. Entonces consulta fuera de eso.

Si eso no es posible, debe observar las diversas cosas que harían que el servidor SQL tuviera que cargar la tabla completa localmente. Por ejemplo, usando GETDATE() o incluso ciertas uniones. Otros asesinos del rendimiento incluyen no otorgar los derechos apropiados.

Consulte http://thomaslarock.com/2013/05/top-3-performance-killers-for-linked-server-queries/ para obtener más información.