Tentei tudo o que pude encontrar para fazer minha instância padrão do SQL Server escutar na porta 1433, mas nada parece funcionar.
Aqui está tudo o que eu fiz:
SQL Server Configuration Manager , em Protocolos para MSSQLSERVER
- TCP/IP habilitado
- Defina Ouvir tudo como Não
- Na aba Endereços IP , defina o campo Portas Dinâmicas TCP como em branco em IPALL
- Na aba Endereços IP , defina a Porta TCP como 1433 em IPALL
- Reiniciou o serviço
Então verifiquei a porta em que ele está escutando usando:
netstat -ano | findstr <sqlservr.exe PID>
e os resultados que obtive foram:
TCP 0.0.0.0:9822 0.0.0.0:0 LISTENING 11608
TCP [::]:9822 [::]:0 LISTENING 11608
Desinstalei e reinstalei o SQL Server (edição para desenvolvedores) várias vezes, cada vez recebo uma porta diferente, mas nunca é 1433, e todas as vezes, não importa o que eu faça, não consigo fazer com que ele escute 1433.
Resultado da consulta:
EXEC xp_readerrorlog 0, 1, N'listening on';
é o seguinte:
LogDate ProcessInfo Text
----------------------- ------------ -------------------------------------------------------------
2025-02-22 15:40:56.670 Server Server is listening on [ 'any' <ipv6> 9822] accept sockets 1.
2025-02-22 15:40:56.670 Server Server is listening on [ 'any' <ipv4> 9822] accept sockets 1.
Eu também tentei definir o Listen All como yes, mas ele falha ao iniciar o serviço do SQL Server. E eu encontrei os seguintes erros no visualizador de eventos (cada linha é de uma entrada separada, em ordem cronológica reversa)
Server TCP provider failed to listen on [ 'any' <ipv6> 1433]. Tcp port is already in use.
TDSSNIClient initialization failed with error 0x271d, status code 0xa. Reason: Unable to initialize the TCP/IP listener. An attempt was made to access a socket in a way forbidden by its access permissions.
TDSSNIClient initialization failed with error 0x271d, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. An attempt was made to access a socket in a way forbidden by its access permissions.
Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the operating system error log for information about possible related problems.
Mais informações:
Permitir conexões remotas a este servidor está marcado em SSMS -> caixa de diálogo de propriedades do servidor de banco de dados -> guia Conexões
A porta 1433 é aberta no firewall conforme descrito aqui
New-NetFirewallRule -DisplayName "SQLServer default instance" -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow New-NetFirewallRule -DisplayName "SQLServer Browser service" -Direction Inbound -LocalPort 1434 -Protocol UDP -Action Allow
Resultado do comando
netsh int ipv6 show excludedportrange protocol=tcp
> netsh int ipv6 show excludedportrange protocol=tcp Protocol tcp Port Exclusion Ranges Start Port End Port ---------- -------- 80 80 443 443 1025 1124 1225 1324 1325 1424 1425 1524 1526 1625 1640 1739 1834 1933 12428 12527 50000 50059 * * - Administered port exclusions.
Já existe uma reserva para a porta no IPv6. Você terá que descobrir se quer manter essa reserva (ou qual outra coisa que você está usando quer) ou removê-la. Não posso dizer se você precisa ou não, esse é um item localizado na sua configuração (que não envolve o SQL Server de forma alguma, exceto pelo fato de que ele quer usar 1433, que também pode ser alterado).