When to use a TCP dynamic port and when TCP Port? I have a new server that is configured using a dynamic port as you can see below:



The application that connects to this server uses the following connection string, but I am getting the following error:



I asked the developer to change the connection port from 61844 to 53187, which is my dynamic port.

After done that and restarting their services, the application could connect to SQL Server.

Is there any specific reason it needs to be using a dynamic port?
Say that something else uses the port that you have configured for your SQL Server: What do you prefer? 
The SQL Server to start but use a different port? Use dynamic. 
Not start at all? Use static. 

Another aspect is that your developers seem to have hard-wired the port number in the application (connection string) i.e., connect to something e.g. yourserver,45346. That is one way to do it. Another way is to connect using the instance name such as yourserver\instancename. This way the port resolution is handled for you, but it requires that the SQL Server browser service is started on the server machine and you can reach it using UDP port 1434 for the name->portnumber "query".