I have a set up where there is one central SQL Server and 100s of clients. I have designed a Windows app, where I can do sync between server/clients locally for testing and also for clients within same network of server.
But in real-time scenario, I am not able to get the connection strings of clients as its opposed to the business rules and data security.
So, I am looking for ways to connect to the client SQL servers.
to summarize the answer based on the comments above, get you clients to connect to the server instead of the server connecting to the clients.
this way, you central server doenst have to keep track of all the clients, their addresses, client firewalls, etc...
you can implement an n-tier sync setup where you have a WCF sync service on the server side that your clients can connect to during sync.