SQL server-Instanzname mit IP-Adresse

Ich habe eine sehr seltsame Situation passiert und ich hoffe, dass jemand hier weiß, warum.

Ich habe TCP / IP für alle Ports auf dem Default Port 1433 aktiviert.

Alle Tests sind im Einklang mit SQL server Management Studio und meinem Programm.

Das funktioniert:

  • Computername \ Instanzname
  • 127.0.0.1
  • 127.0.0.1,1433
  • 192.168.1.100
  • 192.168.1.100,1433

Das funktioniert nicht:

  • 127.0.0.1 \ InstanceName

Hinweis: Ich weiß, es ist nicht Firewall verwandt, weil ich telnet in 127.0.0.1 auf Port 1433.

Anmerkung2: Die Verbindungszeichenfolge spielt keine Rolle, da die Tests mit dem Management Studio übereinstimmen, aber ich gebe es trotzdem: server={0};Integrated Security=True;Database=MyDatabase

Beim Lesen von MSDN scheint es, dass Sie in der Lage sein sollten, eine Verbindung zu einem Instanznamen über eine IP-Adresse herzustellen.

Was ist denn hier los?

   

Named SQL-Instanzen hören standardmäßig auf einen randomen Port. Sie benötigen SQL-Browser- Service gestartet, das hört UDP auf 1434 und antwortet auf Instanz-Ermittlungsanforderungen, die dem Client den wahren Hörhafen anweisen. Sie müssen auch die Firewall erlauben, Löcher auf der Grundlage des processnamens zu stoßen, so dass SQL an jedem Port binden kann, den es sich anfühlt.

Andernfalls müssen Sie explizit die benannte Instanz auf dem nicht benannten Port erzwingen.