I have multiple databases on different servers and one of the servers is across a WAN. The app needs to access data on all the servers and potentially join one tableA on ServerA (local) and TableB on ServerB (across WAN). What is the best design pattern for this? I was thinking that instead of using SQL Server Linked Servers I would have a service layer on the app server that would aggregate the data (make multiple calls, one to each DB).
Not that is should matter because we are talking about design patterns and best practices, but the app is a .NET app and the service would probably be a WCF service using TCP binding.
My DBA suggested we would write a sproc and used linked servers to join to the other table. My concern is that this solution isn't scalable.
Any advice?