2013-03-28 95 views
0

有没有办法在不同的数据库中连接表,这些数据库位于不同的服务器上而没有链接的服务器?跨服务器加入SQL Server 2008中

如果链接的服务器是唯一的选择,那么在集群中设置链接服务器时,是否应该考虑一些缺陷/警告/任何问题?

谢谢。

+0

从要在本地打最多行的服务器运行查询。 – Paparazzi

回答

2

链接服务器几乎是镇上唯一的游戏。主要缺点是性能...您的服务器无法很好地优化对链接服务器的查询,当然数据传输速率和索引利用率也受到严重阻碍。

当我不得不做这样的事情时,我尝试通过简单的查询来获取我将要使用的所有远程结果,并将数据本地存储在索引临时表中。最初的绘制速度可能很慢,但是我可以根据需要使用这些数据。但实际上,如果可能的话,应尽量避免跨服务器的任何复杂查询。亚秒查询最终可能花费数分钟或更长时间。

+0

只有在查询server1连接到server2时,这些缺陷才会影响到我,并且在连接的服务器上运行查询仍将保持不变? 基本上我问的是只设置链接服务器会影响任何当前的性能? – chibis

+1

它是查询特定的。如果您的查询引用来自多个服务器的表,那么性能将会在那里。表格数据和数据量之间的相互作用越复杂,这些数据就是影响程度如何的重要因素。从远程服务器中选择20行可能不明显,但将其加入到本地表中,然后在连接条件下将本地表连接到远程表,这种连接条件对于通过远程连接而言未优化,这是失去理智的好方法。 –

+0

非常感谢。这真的很有帮助。 – chibis