我在不同的服务器上有多个数据库,其中一个服务器跨WAN。应用程序需要访问所有服务器上的数据,并可能加入ServerA (本地)上的一个tableA和ServerB (跨广域网)上的TableB。最好的设计模式是什么?我在想,不是使用SQL Server链接服务器,而是在应用程序服务器上有一个服务层,它将聚合数据(进行多个调用,每个数据库一个)。
这并不重要,因为我们讨论的是设计模式和最佳实践,但该应用程序是一个.NET应用程序,该服务可能是一个使用TCP绑定的WCF服务。
我的DBA建议我们编写一个存储过程,并使用链接服务器连接到另一个表。我担心的是这个解决方案是不可伸缩的。
有什么建议吗?
发布于 2020-06-28 05:13:45
这真的要看情况。如果您有一个读取请求的模式,则可以使用某种数据管道在服务器A(作为视图)中创建远程数据的副本。如果远程数据可以保存在其他地方,这将受到规则的约束。您建议的解决方案也可以工作,但不会像读取请求那样具有预期的性能。
https://stackoverflow.com/questions/19613064
复制相似问题