2009-08-27 9 views
43

Ich benutze SQL Server 2008 und in Visual Studio, im Server-Explorer kann ich eine Verbindung zu SQL Server unter Verwendung meines Computernamens, aber ich kann Verwenden Sie nicht 127.0.0.1 oder localhost, sollten sie nicht identisch sein?Kann keine Verbindung zu localhost, aber kann mit Computername in SQL Server 2008

Auch wenn ich eine Verbindungszeichenfolge in der Datei web.config für die Website verwende, kann ich keine Verbindung mit localhost herstellen, sondern nur mit dem Computernamen! Gibt es eine Einstellung, die irgendwo im SQL Config Manager fehlt?

+4

David, ich weiß, es ist Jahre her, aber hast du eine Lösung für dieses Problem bekommen? Ich bin auf dasselbe Problem gestoßen und finde keine Lösung für dieses Problem: | – texens

+0

Vielleicht eine dumme Frage, aber ist es nicht in der Lage, Named Pipes für lokale zu verwenden? Vielleicht ist etwas über Netzwerk nicht eingerichtet (siehe Yam's Antwort), aber wenn Sie beim Namen gehen, verwendet es Named Pipes, was Ihren Problemlöser in den Wahnsinn treibt, weil es dachte, Networking sei richtig eingerichtet. – FastAl

Antwort

8

Verwenden localhost \ sql_server_instance_name

Zum Beispiel localhost \ sqlexpress

Verwendung . statt 127.0.0.1

\ sqlexpress

+1

Das OP hat gesagt, dass es mit dem Computernamen arbeitet, aber nicht mit "localhost" oder der IP-Adresse, aber keinen Instanznamen erwähnt. – Rob

18

Sie wahrscheinlich SQL Server festlegen müssen "remote" Verbindungen zu ermöglichen.

  1. Gehen Sie auf Start> Alle Programme> Microsoft SQL Server 2008> Konfigurations Extras> Sql Server Konfigurationsmanager
  2. Wenn der Konfigurationsmanager geladen wurde, erweitern Sie den Knoten "SQL Server-Netzwerkkonfiguration" der Baumansicht links
  3. Wählen Sie die Sql Server-Instanz aus, die Sie sind versuchen, eine Verbindung in der Struktur herzustellen
  4. Alle drei von "Shared Memory", "Named Pipes" und "TCP/IP" sollte in der Liste auf der rechten Seite als aktiviert angezeigt werden. Klicken Sie doppelt auf die einzelnen Elemente und ändern Sie im angezeigten Fenster Disabled in Enabled.
  5. Klicken Sie auf "SQL Server-Dienste" in der Baumansicht
  6. "SQL Server (InstanceName)" auswählen mit der rechten Maustaste und wählen

neu starten (wo InstanceName wahrscheinlich SqlExpress oder mssqlserver sein) Wenn der Neustart hat abgeschlossen, versuchen Sie es erneut - es sollte jetzt funktionieren. versuchen

+1

Hallo Rob, danke, aber sie sind bereits aktiviert. Es wirft jetzt einen Fehler auf, selbst wenn ich meinen Computernamen benutze! Ich habe gerade SQL 2008 auf einem anderen Rechner neu installiert und sagt, dass COMPUTER92/SQLSERVER sich nicht in der Datenbank "mdbb" anmelden kann (Computer 92 ist mein Computername, es ist ein gültiger Login unter der Serversicherheit -> Logins, und es heißt " mdbb "aber unter den Benutzern zeigt es COMPUTER92/SQLSERVER nicht als Benutzer von" mdbb "!! –

4

können Sie auch: .\sql_server_instance_name

.\SQLExpress 
+0

großartige Lösung. Dies macht es einfach, Projekte auf verschiedenen Computern mit lokalen Instanzen einer Test-Datenbank zu betreiben. – Anthony

0

ich hatte das gleiche Problem, und es sieht aus wie Probleme gab es zwei.

Zuerst wurde Robs Empfehlung umgesetzt, den Konfigurationsmanager zum Aktivieren der SQL-Verbindungen zu verwenden.

Zweitens sollte man sich an eine bestimmte Instanz anschließen, wie von mehreren Leuten empfohlen. Vom Konfigurationsmanager merkte ich, dass ich zwei Instanzen hatte, SQLEXPRESS und HOMEINSTALL. Ich könnte dann eine Verbindung mit zB localhost \ sqlexpress oder. \ Homeeinall herstellen.

72

Wenn jemand diesen Beitrag gefolgt und immer noch ihre Probleme (wie ich) nicht gelöst hat, dann ist hier, was es für mich gelöst:

Schritt 1: I an den TCP/IP-Linie in SQL Server Network ging Konfiguration unter Protokolle für SQLEXPRESS (obwohl Sie Ihren aktiven sQL Server wählen sollte) und klickte auf Eigenschaften:

enter image description here

Schritt 2: Dann stellte ich sicher, dass unter IP-Adressen wird die Gruppe IP4 Aktiviert = "Ja s“, und dass das TCP-Port in dort zu 1433 (der Standard-SQL-Server-Port) festgelegt ist, wie hier:

enter image description here

Schritt 3: Schließlich nur als Vorsichtsmaßnahme, ich habe mich verändert alle anderen IP-Gruppen-Ports zu 1433 auch, und aktiviert = "Ja" sie von IP2 zu IP5 (Ich sah dies an einem anderen Computer). Ich habe auch den TCP Port der IPAlls (der letzten Gruppe) auf 1433 geändert. Aber das bin nur ich. Ich bin verrückt. Verrückt werden. Es ist gut für dich. Als letztes stellen Sie sicher, dass Aktiviert auf der Registerkarte Protokoll ebenfalls auf Ja eingestellt ist.


und dann - Hurra! es funktionierte. Prost für all die gutherzigen Menschen, die sich Zeit nehmen, um die Probleme anderer Menschen zu lösen.

+1

Dank! Die anderen Die Antworten haben mich auch nicht den ganzen Weg hierher gebracht, aber deine Lösung hat es geschafft. – Scott

+4

+1 Diese Antwort sollte als die richtige Antwort markiert werden.Ich muss mich mit diesem Problem einmal in einem blauen Mond beschäftigen und ich vergesse immer, wie ich es beheben kann it. – dyslexicanaboko

+0

Das war die Antwort für mich auch. Danke! –

Verwandte Themen