从位于不同服务器上的多个SQL Server数据库连接表

时间:2009-07-23 13:52:00

标签: sql sql-server database

加入位于不同服务器上的数据库上的SQL Server数据库表的推荐方法是什么?

所有数据库都在同一个网络上。

4 个答案:

答案 0 :(得分:2)

链接服务器有效 - 但有一些问题让我试图避免它们:

  1. 随着时间的推移,他们会从高层次,噩梦中管理您的环境。服务器来来去去,升级等等,当你有数百个查询潜伏着硬编码的服务器名时,这会变得非常粗略(想想“加入myRetriringServer.someDatabase.dbo.importantData ......”)。别名帮助,但他们是一个麻烦的恕我直言。这是一个有问题的紧耦合的例子。

  2. 性能可能是一个非常严重的问题,因为任何复杂的跨服务器查询都不会优化,您会发现服务器经常通过网络实现整个表的动态副本。 (Joe ++)

  3. 如果你的环境非常小,那就行了。对于更大的环境,我更喜欢使用SSIS移动缓慢变化的数据,然后在同一服务器上共同定位快速变化/相关的数据以提高性能。

答案 1 :(得分:1)

您可以将服务器设置为链接服务器:

http://www.sqlservercentral.com/articles/Video/66413/

然后,您将能够运行引用不同数据库的查询。

答案 2 :(得分:0)

您可以使用链接服务器,但在某些情况下,查询执行可能会有一些时髦的事情。这取决于您正在运行的查询。

您可以交替设置从其他数据库到单个服务器的复制,并在该服务器上运行所有查询。

答案 3 :(得分:0)

Linked Servers是简单/低端实现的方法。

如果您正在寻找相当高端的平台/架构,那么您可能需要查看SQL Server Federated Databases