The default instance will by default listen on tcp / 1433. It may also listen on the named pipe (tcp / 445), but I think it should be explicitly enabled these days.
Named instances, such as SQLEXPRESS, listen on the dynamic port. The dynamic port is resolved by the client through the SQL Server resolution protocol (also known as SQL Browser), which listens on udp / 1434 1 . This dynamic port is selected at the first start and, as a rule, remains unchanged in future restarts (stored in the registry), but if there is competition, SQL will choose a new port.
You can and should usually configure all production SQL server instances to use a static port. This makes the firewall a lot easier.
1 The only reason you should put a named instance in, say, a connection string, so that the client knows to ask the SSRP for the dynamic port. If this is a static or otherwise known port, you can simply tell the client Server=server.com:port , leaving the name of the instance.
Mark Brackett Aug 15 '09 at 5:20 2009-08-15 05:20
source share