Frage

Ich habe eine sehr seltsame Situation passiert, und ich bin der Hoffnung, jemand hier weiß, warum.

Ich habe TCP / IP für alle Ports auf dem Standard-Port 1433 freigegeben.

Alle Tests sind konsistent mit SQL Server Management Studio und mein Programm.

Das funktioniert:

  • Computername \ InstanceName
  • 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ß, dass es nicht im Zusammenhang Firewall, weil ich in 127.0.0.1 auf Port 1433 telnet

Hinweis 2: Die Verbindungszeichenfolge keine Rolle spielt, da die Tests im Einklang mit Management Studio, aber ich werde es trotzdem: server={0};Integrated Security=True;Database=MyDatabase

Während MSDN Lesen scheint es, dass Sie auf eine Instanz Namen über eine IP-Adresse zu verbinden, sollte in der Lage.

Was ist denn hier los?

War es hilfreich?

Lösung

Namen SQL-Instanzen hören auf einem zufälligen Port standardmäßig. Sie müssen SQL-Browser Dienst gestartet, dies hört UDP auf 1434 und reagiert auf Instanz Entdeckung fordert der Client den wahren Abhörport anweist. Sie müssen auch die Firewall ermöglichen Löcher zu stecken, basierend auf den Prozessnamen, so dass SQL an jedem Port binden kann es sich anfühlt.

Ansonsten müssen Sie explizit die benannte Instanz auf dem nicht benannter erzwingen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top