Unable to connect to SQLServer listening on Non-Default Port?
If you connect to SQLServer using the "hostname" it connects to the instance which is listening on 1433.
If you make named instance listen on 1433 and connect using "hostname" it connects to named instance which is listening on 1433.
if you connect to SQLServer using hostname or ip-address (without "\instance name") it connects to instance which is listening on 1433, it can be named instance as well.(We have a belief that it connects to default instance because default port of default instance is 1433).
When you are connecting to SQLServer using hostname (without "\instance name") client will not communicate with SQL Browser.
SQLClient would communicate with SQLBrowser only if there is "\instancename" followed by host name.
Dynamic port detection is only available for named instances of SQL Server 2000.
The behavior of SQL Server 2000 for a default instance is exactly the same as in earlier versions of SQL Server. The network libraries assume either 1433 or the
global default port established with the Client Configuration Utility.
If a default instance is listening on a port other than the standard 1433 port, you can provide an alias or change the global default port. You can also connect to the
instance of SQL Server by using its server name, its FQDN, or its IP address followed by a comma and the port number.
The mdac rules :
If you connect to a Named Instance, then you need to either specify the Server\Instance or Server,Port.
If you change the default port number for the default instance, then you need to specify Port number as well.