是否存在任何巨大的性能问题或安全问题?
使用SQL Server 2005及更高版本
答案 0 :(得分:11)
我已经为Access,DB2,Oracle,Sybase和奇怪的专有ODBC驱动程序设置了链接服务器。我现在更喜欢SSIS或.net代码......
答案 1 :(得分:8)
是 - 在不同物理数据库中连接两个数据集的查询效果不佳。
e.g。如果在当前服务器上的表A和链接服务器上的B之间运行查询。
Select A.Field1, B.Field2 FROM A INNER JOIN B on A.Id = B.Id
WHERE B.Id = @InputId
您可能会发现表B的所有记录都已被检索 - 实际上是
Select * from Table B
进入工作服务器。
你想要做的是在链接服务器上有一个usp,它将Id作为参数并从表B返回一个过滤的记录集
然后重写上面的查询,将表A加入到usp中。
答案 2 :(得分:4)
在服务器上设置一个(或多个)不是问题 - 当您实际查询它们时,性能会受到影响。
我有一个Linked SQLServer 2005设置,它位于同一个物理建筑中(在同一个网络上)而且不是问题 - 你喜欢的速度很快。
我还有另一个链接(Oracle)服务器,它位于世界的另一端,就像走过糖蜜和超时,断开连接(见here!)
抱歉要模糊,但......这取决于!