nome da instância do SQL Server com o endereço IP
-
06-07-2019 - |
Pergunta
Eu tenho uma situação muito estranha acontecendo e eu estou esperando que alguém aqui sabe o porquê.
Eu tenho TCP / IP habilitado para todas as portas na porta padrão 1433.
Todos os testes são consistentes com o SQL Server Management Studio e meu programa.
Isso funciona:
- ComputerName \ InstanceName
- 127.0.0.1
- 127.0.0.1,1433
- 192.168.1.100
- 192.168.1.100,1433
Isso não funciona:
- 127.0.0.1 \ InstanceName
Nota:. Eu sei que não é firewall relacionado porque eu posso telnet para 127.0.0.1 na porta 1433
Nota 2: A seqüência de conexão não importa, já que os testes são consistentes com Management Studio, mas eu vou dar-lhe de qualquer maneira: server={0};Integrated Security=True;Database=MyDatabase
Ao ler MSDN parece que você deve ser capaz de conectar-se a um nome de instância através de um endereço IP.
O que está acontecendo aqui?
Solução
casos nome SQL escutar uma porta aleatória por padrão. Você precisa SQL serviço navegador começou, este escutas UDP em 1434 e responde a solicitações de descoberta de instâncias instruindo o cliente a porta de escuta verdade. Você também precisa permitir que o firewall para criar buracos com base no nome do processo, para que o SQL pode ligar a qualquer porta que se sente.
Caso contrário, você deve forçar explicitamente a instância nomeada na-não nomeado porta.