Connecting to a SQL server whose IP changes I want to connect to a server whose IP is dynamic via a VB.net application. I have configured the connection string in my VB application to a static IP. 
I also gave a static IP to the database.

However, this work-around can be dangerous. Can someone please suggest an efficient way to connect to a SQL server in a remote machine whose IP is dynamic.
The most efficient way to connect to a server is to use it's hostname and not an IP address. The local DHCP should be updating the DNS records so connecting to a hostname should always work, if not talk to the people configuring your network.