Verbindung zur Datenbank mit localhost \ sqlserver nicht möglich

8

Ich weiß, dass wir uns über solche Phrasen bewusst sein sollten, aber auf einmal haben alle meine Verbindungen zu localhost\sqlexpress aufgehört zu arbeiten. Da .\sqlexpress und (local)\sqlexpress funktionieren, wäre das keine große Sache, wenn ich nicht gerade an einem Teamprojekt arbeite, bei dem alle Verbindungszeichenfolgen im vorherigen Format definiert sind. Und offensichtlich habe ich eine harte Zeit zu akzeptieren, dass es nicht mehr funktionieren sollte, also verbrachte ich mehrere Stunden damit, mehrere SQL Server-Versionen zu analysieren und neu zu installieren, ohne Erfolg. (Und auf dem Weg, die db-Projekte in VS2010 zu brechen, also musste ich auch neu installieren ...).

Aber hier sind die Details. Wie bereits erwähnt, konnte ich mich nicht mit localhost\sqlexpress , sondern mit .\sqlexpress verbinden. Die gleichen Symptome mit SQL Server-Manager und Verbindungszeichenfolgen für die Bereitstellung und den Ausführen von WCF-Diensten. Lustig genug, um die Standardinstanz als localhost zu lösen.

Zuerst die ersten, ja, der SQL Server läuft und nur um sicher zu sein, dass ich TCP / IP aktiviert habe und den Port auf 1433 fest eingestellt habe, obwohl er auf meinem Kollegencomputer mit deaktivierter TCP / IP funktioniert. (Irgendwann habe ich gelesen, dass localhost mit Shared Memory aufgelöst werden kann, wenn man den nativen SQL-Client benutzt, also denke ich, dass das auf seinem System passiert.)

Das Setup ist nur eine SQL Server Express 2008 R2-Instanz und VS2010 unter Windows 7 Professional.

Starten von Sql Express das Fehlerprotokoll sagt:

%Vor%

Netstat sagt (Auszug):

%Vor%

Ich notiere die Abwesenheit von 127.0.0.1:1433 und irgendein UDP auf Port 1433

Um das Problem zu diagnostizieren, benutze ich sqlcmd, um herauszufinden, welcher Transport verwendet wird:

1. localhost \ sqlexpress

%Vor%

Verbindung zu localhost \ sqlexpress von SQL Server Management Studio kann nicht hergestellt werden, auch wenn ich den gemeinsamen Speicher als Protokoll festlege

2. localhost

%Vor%

Kann eine Verbindung zu localhost von SQL Server Management Studio herstellen

3. (lokal) \ sqlexpress

%Vor%

Kann sich mit (local) \ sqlexpress von SQL Server Management Studio

verbinden

Also ich bin hier verloren. Jede Hilfe wird sehr geschätzt.

    
Wullie 03.07.2011, 21:18
quelle

3 Antworten

4

in MS SQL, gehen Sie zu Konfigurationstools - & gt; SQL Server-Konfigurationsmanager Wählen Sie SQL Server-Netzwerkkonfiguration - & gt; Wählen Sie das Protokoll Im rechten Fenster aktivieren Sie tcp / ip und starten Sie die Dienste in services.msc neu Versuchen Sie dann, sich mit localhost \ sqlexpress

zu verbinden     
Jonnadula Sasikumar 18.07.2013 09:58
quelle
2

Haben Sie überprüft, dass der freigegebene Speicher im SQL Server-Konfigurations-Manager unter SQL Server-Netzwerkkonfiguration | aktiviert ist Protokolle?

Wenn ich das Protokoll "Shared Memory" deaktiviere, läuft "sqlcmd -S. \ sqlexpress" ab. Wenn Sie es aktivieren, funktioniert der Befehl einwandfrei.

Noch ein Gedanke ... Port 1434 wird für den SQL Server Discovery-Dienst verwendet, der es Programmen wie SQL Management Studio und dergleichen ermöglicht, festzustellen, dass SQL Server auf dem Computer ausgeführt wird. Nur noch eine Sache zu untersuchen.

    
James L. 06.07.2011 23:39
quelle
0

Wir hatten dieses Problem. Aus irgendeinem Grund wurde auf diesem Rechner ein Alias ​​erstellt, der den von uns verwendeten Servernamen (localhost \ SQL2008_R2) an einen Server leitete, der nicht mehr existierte.

Sobald wir den Alias ​​gelöscht haben, hat alles funktioniert.

Die Aliase sind ein Baumknoten im SQL Server-Konfigurations-Manager.

    
Andrew Shepherd 17.03.2015 22:56
quelle