505 Stimmen

Kann keine Verbindung zum Server herstellen - Ein netzwerkbezogener oder instanzspezifischer Fehler

Ich erhalte den folgenden Fehler beim Versuch, eine Verbindung mit dem SQL Server herzustellen:

Beim Herstellen einer Verbindung mit dem SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass der SQL Server so konfiguriert ist, dass Remoteverbindungen zulässig sind. (Anbieter: Named Pipes Provider, Fehler: 40 - Verbindung mit dem SQL Server konnte nicht geöffnet werden)

Dieser Fehler tritt auf, wenn ich versuche, meine Datenbank in Visual Studio 2010 auf GridView zu konfigurieren. Ich bin ratlos, wie ich diesen Fehler debuggen soll.

Wie würden Sie diesen Fehler debuggen? Welche Schritte sollte ich unternehmen, um herauszufinden, was hier wirklich passiert, zusätzlich zu dem im Fehlermeldung erwähnten?

1voto

Udishan Punkte 135

Ich bin auch auf dieses Problem gestoßen, obwohl ich die richtigen Anmeldeinformationen verwende. Stellen Sie bitte sicher, die folgenden Aktionen auszuführen.

Stellen Sie sicher, dass Ihre Anmeldeinformationen für den SQL-Server korrekt sind. Im SQL-Server-Feld müssen Sie den Computernamen verwenden. Geben Sie hier eine Bildbeschreibung ein

Um den Computernamen zu finden, suchen Sie auf Ihrem Computer nach Computernamen, dann finden Sie den Computernamen. Kopieren Sie diesen und versuchen Sie, eine Verbindung herzustellen.

Wenn es nicht funktioniert, versuchen Sie, den SQL-Server auf Ihrem Computer über die Dienste zu starten. Das folgende Bild wird hilfreich sein. Geben Sie hier eine Bildbeschreibung ein

1voto

Thing Punkte 190

Mein Problem war, dass du ein Verbindungszeichenfolge-Eintrag sowohl in deiner Repositories-Schicht als auch in deiner Web-Schicht benötigst. Sobald ich es zu meiner web.config hinzugefügt habe, genauso wie zu meiner app.config, konnte Entity Framework die Migration erstellen.

Meine Frage ist, warum braucht die web.config es, wenn es absolut keinen Datenbankzugriff gibt.

1voto

Ondrej Punkte 1200

Es scheint, dass Ihre Instanz von localdb nicht läuft. Um sie beim Start des Computers zu starten, fügen Sie in Ihrem Startmenü \ Startup-Ordner eine BAT-Datei mit folgender Zeile hinzu

sqllocaldb start name_of_instance

wo name_of_instance der Name der localdb-Instanz ist, die Sie starten möchten. Sie können verfügbare Instanzen in der Befehlszeile mit sqllocaldb i auflisten.

Zum Beispiel, wenn Sie SQL Server Management Studio verwenden und sich mit dem Servernamen (localdb)\v11.0 verbinden, dann wird Ihre BAT-Datei wie folgt aussehen

sqllocaldb start v11.0

0voto

Gi1ber7 Punkte 632

Ich bin auf ein ähnliches Problem gestoßen, während ich MS SQL 2022 verwendet habe. Als ich es ursprünglich installiert habe, konnte ich auf die Datenbank über das MSSQL Management Studio zugreifen, aber nach dem Neustart des Computers startet der SQL Server-Motor nicht automatisch. In meinem Fall war es das Konto, das zum Anmelden verwendet wurde, das Standardkonto ist MSSQLSERVER. Ich habe das Konto in mein Computerkonto (oder Domänenkonto, wenn Sie in einer Unternehmensumgebung sind) geändert... im Computermanagement >> Dienste und Anwendungen >> SQL Server >> rechtsklick >> Eigenschaften >> Anmelden >> Dieses Konto >> Benutzer-ID und Passwort eingeben und Passwort bestätigen. Dann klicken Sie auf die Start-Schaltfläche, um den Datenbankmotor zu starten.

0voto

curiousBoy Punkte 5332

FÜR AZURE VM BENUTZER

Ich habe alles oben Genannte ausprobiert (also das könnte immer noch gültig sein), hat aber immer noch nicht funktioniert.

WICHTIG: Meins war nur ein Spielserver, also war Sicherheit wirklich keine Sorge. Machen Sie Ihre Recherchen, das ist nur ein Workaround und kein sicheres Vorgehen für die Produktion.

Stellen Sie sicher, dass Sie Ihren Server anpingen können. In meinem Fall konnte ich mich über RDP verbinden, aber konnte meinen Server auf Azure nicht anpingen. Ich habe immer eine Zeitüberschreitung erhalten, weil Azure anscheinend das ICMP-Protokoll standardmäßig blockiert.

Sie können eine Regel zur Firewall hinzufügen. In meinem Fall hat sich unabhängig davon, was ich durch die Firewall auf dieser Maschine hinzugefügt habe, nichts geändert. Danke @John für die obige Antwort, die mich auch daran erinnert hat, dass ich dies über die Netzwerkeinstellungen im Azure-Portal hinzufügen muss.

Sobald ich eine Regel für Port 0 hinzugefügt habe, konnte ich endlich eine Remoteverbindung herstellen.

dieser Link dieser Link war auch hilfreich.

Bildbeschreibung hier eingeben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X