Which ports to open for Microsoft SQL Server?

If you only have one instance of SQL Server running, and it has the TCP/IP transport enabled for non-local connections, then chances are it will be listening on the default TCP port: 1433.

If you have multiple instances, or any other complications above "a single, default, instance", then things may be more complicated. You will need to set the ports for each instance (by default they are semi-random which is not generally helpful for firewall configuration) and will need to open the SQL Browser Service too (which usually listens on UDP port 1434, though this too can be reconfigured).

There is a fairly detailed set of notes on SQL Server and firewalls at http://msdn.microsoft.com/en-us/library/cc646023.aspx


You will need to start browser service to resolve non-default instances. Additionally, opening UDP 1434 will allow resolution of the named instances by name instead of port, so you will not need to use the ports. If you are uncomfortable opening UDP 1434 long-term, or you have a DBA who is on-site and can connect locally, you may ask them to connect via SQL Server Mgmt Studio OR SQLCMD and specifiy the server connection as follows:

tcp:servername\instancename

prefixing with tcp will force a tcp connection. Once this is done, you may connect to your named instance and query sys.dm_exec_connections to find the port the non-default instance is running on like so:

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID