SQL Server e Portas TCP/IP
SQL Server é um serviço que utiliza o protocolo TCP/IP para atender às requisições dos usuários. A comunicação utiliza o protocolo chamado Tabular Data Stream (TDS) e, por padrão, utiliza a porta TCP 1433 do servidor de banco de dados. Por exemplo, ao rodar o comando NETSTAT -NA, verificam-se várias conexões do cliente 157.54.178.31 com o servidor 157.54.178.42.
Proto Local Address Foreign Address State
TCP 157.54.178.42:1433 0.0.0.0:0 LISTENING
TCP 157.54.178.42:1433 157.54.178.31:1746 ESTABLISHED
TCP 157.54.178.42:1433 157.54.178.31:1748 ESTABLISHED
TCP 157.54.178.42:1433 157.54.178.31:1750 ESTABLISHED
O servidor pode ser configurado com porta fixa ou dinâmica. O recomendado é que essa porta seja fixa, pois facilita a configuração de um firewall (caso seja necessário). Quando o servidor possui mais de um SQL Server instalado ou utiliza uma portão diferente da 1433, então é necessário habilitar um serviço secundário denominado SQL Browser. Esse serviço fica escutando na porta UDP 1434 com o objetivo de fazer “broadcast” dos servidores SQL ativos.
Em ambientes que necessitam de maior segurança, o serviço do SQL Browser é desabilitado ou bloqueado por firewall. Dessa forma, a máquina cliente é incapaz de determinar em qual porta o SQL Server encontra-se ativo – e acaba utilizando a porta padrão 1433. Nesses casos, recomenda-se a criação de “Alias”, que possui um comportamento semelhante ao arquivo HOSTS.
Exemplo: Uma conexão com o servidor SERVXYZ na porta 12345 falha quando o SQL Browser está desabilitado, porque a máquina cliente procura estabelecer uma comunicação na porta padrão 1433. A solução é utilizar um “Alias” que realiza o mapeamento de “SERVXYZ” para “TCP:SERVXYZ,12345”.
Referência
INF: TCP Ports Needed for Communication to SQL Server Through a Firewall
https://support.microsoft.com/kb/287932How do I open the firewall port for SQL Server on Windows Server 2008?
https://support.microsoft.com/kb/968872How to: Configure a Server to Listen on a Specific TCP Port
https://msdn.microsoft.com/en-us/library/ms177440.aspxSQL Server Browser Service
https://msdn.microsoft.com/en-us/library/ms181087.aspxHow to: Create a Server Alias for Use by a Client (SQL Server Configuration Manager)
https://msdn.microsoft.com/en-us/library/ms190445.aspxServer Connectivity How-to Topics (Database Engine)
https://msdn.microsoft.com/en-us/library/ms190608.aspxClient Configuration How-to Topics (Database Engine)
https://msdn.microsoft.com/en-us/library/ms187853.aspx