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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top