Guidance on inter-server database or data transfer and system architecture
You could use Availability Groups for this, which I've done in the past. You would have 20 AGs, and each would have the query server as a replica, probably an async replica. You could also use replication for this, especially since it's unlikely that the users need all tables in every database. I don't like supporting replication though. Maybe the query server would be a Data Warehouse.