加入位于不同服务器上的数据库上的SQL Server数据库表的推荐方法是什么?
所有数据库都在同一个网络上。
答案 0 :(得分:2)
链接服务器有效 - 但有一些问题让我试图避免它们:
随着时间的推移,他们会从高层次,噩梦中管理您的环境。服务器来来去去,升级等等,当你有数百个查询潜伏着硬编码的服务器名时,这会变得非常粗略(想想“加入myRetriringServer.someDatabase.dbo.importantData ......”)。别名帮助,但他们是一个麻烦的恕我直言。这是一个有问题的紧耦合的例子。
性能可能是一个非常严重的问题,因为任何复杂的跨服务器查询都不会优化,您会发现服务器经常通过网络实现整个表的动态副本。 (Joe ++)
如果你的环境非常小,那就行了。对于更大的环境,我更喜欢使用SSIS移动缓慢变化的数据,然后在同一服务器上共同定位快速变化/相关的数据以提高性能。
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以使用链接服务器,但在某些情况下,查询执行可能会有一些时髦的事情。这取决于您正在运行的查询。
您可以交替设置从其他数据库到单个服务器的复制,并在该服务器上运行所有查询。
答案 3 :(得分:0)
Linked Servers是简单/低端实现的方法。
如果您正在寻找相当高端的平台/架构,那么您可能需要查看SQL Server Federated Databases。