Domanda

Ho una situazione molto strana e spero che qualcuno qui sappia perché.

Ho TCP / IP abilitato per tutte le porte sulla porta predefinita 1433.

Tutti i test sono coerenti con SQL Server Management Studio e il mio programma.

Funziona:

  • ComputerName \ InstanceName
  • 127.0.0.1
  • 127.0.0.1,1433
  • 192.168.1.100
  • 192.168.1.100,1433

NON funziona:

  • 127.0.0.1 \ InstanceName

Nota: so che non è collegato al firewall perché posso telnet in 127.0.0.1 sulla porta 1433.

Nota2: la stringa di connessione non ha importanza poiché i test sono coerenti con Management Studio, ma lo darò comunque: server = {0}; Integrated Security = True; Database = MyDatabase

Mentre leggi MSDN sembra che dovresti essere in grado di connetterti a un nome di istanza tramite un indirizzo IP.

Cosa sta succedendo qui?

È stato utile?

Soluzione

Nome Le istanze SQL vengono ascoltate su una porta casuale per impostazione predefinita. È necessario il servizio Browser SQL , questo ascolta UDP 1434 e risponde alle richieste di rilevamento dell'istanza indicando al client la vera porta di ascolto. È inoltre necessario consentire al firewall di creare buchi in base al nome del processo, in modo che SQL possa collegarsi a qualsiasi porta si senta.

Altrimenti è necessario forzare esplicitamente l'istanza denominata sulla porta non denominata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top