Auf welchem Port läuft mein SQL Server (Express) 2008 R2? Oder: warum bekomme ich keine Verbindung?

Written on March 06, 2011

Wann genau Microsoft die Einstellung geändert hat, konnte ich nicht genau nachvollziehen -- bei der Neuinstallation einer benannten SQL-Server 2008 Express R2 Instanz trat der Effekt jedenfalls auf:

Man versucht, von einem Client aus per SQL Server (Native) Client auf den Server zu verbinden und erhält die Fehlermeldung:

Connection fail:
SQLState: 08001
SQL Server ERROR: 17
{Microsoft}{ODBC SQL Server Driver} {TCP/IP Sockets} SQL Server does not
exist or access denied

Zunächst prüft man natürlich folgende Punkte:

  • Sind Remote Connections erlaubt?
  • Sind Port 1433 und 1434 in der Firewall am Server eingehend geöffnet?
  • Ist das TCP/IP Client Protocol im Configruation Manager aktiviert?

Wenn dies erledigt ist und die Fehlermeldung bleibt, sollte man nochmal einen Blick in den SQL Server Configuration Manager werfen.

Unter "SQL Server Network Configuration" "Protocols for kann man einsehen, ob die dynamische Portzuweisung aktiviert ist:

SQL Server Named Instance Dynamic Ports Active

Ist bei "TCP Dynamic Ports" eine 0 eingetragen, ist der dynamische Port auf dieser IP aktiv.

Doch welche Port-Nummer hat der dynamische Port?

Die Nummer findet man, wenn man in dem oben gezeigten Fenster ganz nach unten scrollt:

TCP Active Dynamic Port

Löscht man die "0" aus den "TCP Dynamic Ports"-Einträgen, kann man je IP unter "TCP Port" einen anderen fixen Port (z.B. den bekannten 1433) eintragen.

Man kann aber auch einfach bei "IPAll" (siehe Screenshot) in "TCP Dynamic Ports" den gewünschten Eintrag ändern, der dann für alle IPs gilt.

Danke an Alex für die Hilfe.

Update: Beachtet bitte auch den Hinweis von Mario in den Kommentaren.

DotNetKicks-DE Image-2008-R2-Oder-warum-bekomme-ich-keine-Verbindung.aspx&bgcolor=3169AD&fgcolor=FFFFFF&border=000000&cbgcolor=D4E1ED&cfgcolor=000000)