在SQL Server中使用链接服务器有什么缺点?

Gab*_*abe 10 sql-server linked-server

是否有任何巨大的性能问题或安全问题?

使用SQL Server 2005及更高版本

gbn*_*gbn 12

  • 服务器迁移更复杂
  • 设置多跳安全性可能很棘手
  • 非SQL Server需要安装本地驱动程序(Sybase,DB2等)
  • 集群,场外DR:注册表项+驱动程序
  • 非SQL Server x64的问题.'努夫说
  • 非SQL Server的播放效果不佳(输入密码的位数是多少?)
  • 表现(在其他答案中)

我已经为Access,DB2,Oracle,Sybase和奇怪的专有ODBC驱动程序设置了链接服务器.我现在更喜欢SSIS或.net代码......


Bon*_*nyT 8

是 - 在不同物理数据库中连接两个数据集的查询性能很差.

例如,如果在当前服务器上的表A和链接服务器上的B之间运行查询.

 Select A.Field1, B.Field2 FROM A INNER JOIN B on A.Id = B.Id
 WHERE B.Id = @InputId
Run Code Online (Sandbox Code Playgroud)

您可能会发现有效地检索到表B的所有记录

 Select * from Table B
Run Code Online (Sandbox Code Playgroud)

进入工作服务器.

您想要做的是在链接服务器上有一个usp,它将Id作为参数并返回表B中的过滤记录集

然后重写上面的查询,将表A连接到usp.


Wid*_*dor 5

在服务器上设置一个(或多个)不是问题 - 当您实际查询它们时,性能会受到影响。

我有一个 Linked SQLServer 2005 设置,它在同一个物理建筑中(在同一个网络上),这不是问题 - 快如你所愿。

我还有另一个 Linked (Oracle) 服务器,它位于世界的另一端,就像走过 treacle 并超时,断开连接(请参阅此处!)

抱歉含糊其辞,但是……这取决于!