Forum Discussion

BLopes's avatar
BLopes
Icon for Nimbostratus rankNimbostratus
Mar 06, 2023

F5 LTM - SQL Virtual Server

Hi all,

I've implemented a F5 with several vips and now I need to create one more but for SQL.

This one will must to handle the request.

For example, when the SQL request is made to vip_db1.localdomain.com, it must be delivered to server.localdomain.com\dbsql1

I wold like to know if anyone has had a similar need for SQL reguests and if it is possible to perform.

Best Regards

 

3 Replies

  • Hi, BLopes 

    I don't intend to be a SQL specialist, but does that "\dbsql1" in front of the server hostname have any special significance? SQL is not the same as HTTP, so directing a connection to a specific database is absolutely not as linear as changing the URI...

    The only indication I'll give you for now is that you'll very likely need a TCP profile with a very long Idle Timeout. Database TCP connections will tipically remain for as long as they can. I've seen cases of 6 hours.

    /Mike

    • BLopes's avatar
      BLopes
      Icon for Nimbostratus rankNimbostratus

      Hi Mike757,

      I'm not also an specialist in SQL, but the information that I have from the costumer is that in that server have some instances of SQL, and this is the way that we call the instances.

      This need appears because one partner is installing a solution that not suport this, he can not in is aplication tell what is the sql instance that to need to access.

      Thanks.

      • Mike757's avatar
        Mike757
        Icon for MVP rankMVP

        I don't want to make you unhappy, but I think I will...

        That I know of, there are no SQL iRule commands like there are for HTTP. So this kind of manipulation seems to be impossible. LTM's role in this scenario would be only up to layer 4.

        If the client does not support named SQL instances, the only way I see for this to work is to use default instances. From https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/database-engine-instances-sql-server?view=sql-server-ver16 :

        « If a connection request specifies only the name of the computer, the connection is made to the default instance. A named instance is one where you specify an instance name when installing the instance. A connection request must specify both the computer name and instance name in order to connect to the instance. »

        Maybe you'll have to work around this "feature". I really have no ideas, and it seems there were no other takers for your question 😢

        /Mike