2

Does anyone know of software that can redirect a TDS client request to an appropriate instance of Sql Server based on the database catalog that the client is attempting to connect to?

In other words, say I have 3 database catalogs (dbcat1, dbcat2, dbcat3) and they're all hosted on the same server (sqlServer). The client code would have connection strings like "server=sqlServer;database=dbcat1" and "server=sqlServer;database=dbcat2", for example.

I would like some sort of (reverse) proxy software that would allow me to move one or more database catalogs to different server instances, but allow the client configuration to remain unchanged. For example, I could put dbcat1 and dbcat3 on sqlA, and put dbcat2 on sqlB, and sqlServer would be the new proxy software. It would pass the connection through to the appropriate SqlServer instance based on its configuration, and the client would have no idea it wasn't talking directly to a SqlServer instance.

Does such a thing exist, or do I get the "joy" of having to write something if I really, really want it? And, yes, I know this is not HA (High Availability) or DR (Disaster Recovery).

  • SqlServer Failover Clustering does not do this; it's for HA. It redirects at the server instance level (guest clustering)
  • SqlServer Availability Groups does not do this; it's for DR. You still need to know the AG that hosts the database you want (if you move the dbcat to another AG, you have to update your client config).
  • Microsoft Proxy Server was replaced by ISA and likely didn't do it anyhow.
  • Microsoft ISA (Forefront) is just a "dumb" proxy as far as I could tell.
Granger
  • 3,639
  • 4
  • 36
  • 34
  • Do any of the databases reference each other, e.g. cross-database queries, external joins, etc? – Dai Sep 23 '22 at 06:29
  • No: Each database catalog is independent for my scenario. Though, since linked-servers still uses TDS, that should theoretically work in the same fashion. – Granger Sep 23 '22 at 14:43

0 Answers0