Beim Versuch, eine Verbindung zu SQL Server herzustellen, wird folgende Fehlermeldung angezeigt:
Es kann keine Verbindung zu 108.163.224.173 hergestellt werden.
Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten.
Der Server wurde nicht gefunden oder war nicht zugänglich. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden.
(Anbieter: Named Pipes Provider, Fehler: 40 - Verbindung zu SQL Server konnte nicht hergestellt werden) (Microsoft SQL Server, Fehler: 1326)
Dieser Fehler wird ausgelöst, wenn ich versuche, meine Datenbank in Visual Studio 2010 für Gridview zu konfigurieren. Ich weiß nicht, wie ich diesen Fehler beheben soll.
Wie würden Sie diesen Fehler debuggen? Welche Schritte sollte ich unternehmen, um festzustellen, was hier wirklich vor sich geht, zusätzlich zu dem in der Fehlermeldung genannten?
Antworten:
Ich fand die folgenden Techniken hilfreich:
quelle
ENABLE SQL Server Browser
Service. Habe in meiner Zeit eine Reihe von SQL-Servern eingerichtet ... Doch dieser Schritt scheint immer unterschiedliche Szenarien zu haben :)Ich habe eine Lösung für mich:
Es wird klappen...
quelle
Hinzufügen meines stark positiv bewerteten Kommentars als Antwort mit Screenshots.
Ich habe viel Zeit damit verbracht, schließlich hat es für mich funktioniert:
1) Öffnen Sie SQL Server Configuration Manager -> SQL Server-Netzwerkkonfiguration -> Protokolle für <(INSTANZ)> -> TCP / IP ( doppelklicken Sie darauf).
2) Wählen Sie -> IP-Adressen (Registerkarte) .
3) Gehen Sie zum letzten Eintrag IP All und erwähnen Sie TCP Port 1433 .
4) Drücken Sie Win+Rund geben Sie services.msc ein .
5) Starten Sie nun SQL Server <(INSTANCE)> neu .
Danach wurde das Problem behoben!
quelle
Ich löse dieses Problem, indem ich Dienste öffne und dann den SQL Server (Sqlexpress) -Dienst starte .
quelle
services.msc
Dann habe ich mit der rechten Maustaste auf SQL Server (SQL EXPRESS) für das Kontextmenü geklickt und einfach Stop and Start the Service wieder und funktioniert gut für mich, Hoffnung hilft.Dieser Fehler trat hauptsächlich auf, wenn der SQL-Dienst gestoppt wurde. Sie müssen den Dienst neu starten. Um zu diesem Fenster zu gelangen, müssen Sie die Dienste wie folgt durchsuchen:
Suchen Sie dann nach SQLSERVER (MSSQLSERVER) und starten Sie den Dienst neu.
Hoffe das wird funktionieren.
quelle
Drücken Sie
window + R (Run window Open)
und in Fenster ausführen ausführen"services.msc"
und neue Dienste öffnen. Suchen Sie SQL Server mit dem Instanznamen in meinem Fall.SQL SERVER(SQLEXPRESS)
Starten Sie dann diesen Dienst und versuchen Sie es erneut. Es funktioniert für mich. Hoffe, es funktioniert auch für Sie.quelle
Falls Sie möglicherweise die Express Edition verwenden :
Fügen Sie
"\SQLEXPRESS"
nach Ihrem Servernamen hinzuz.B
"MY-SERVER\SQLEXPRESS"
quelle
Ich hatte den gleichen Fehler, als ich mein WinForms-Projekt (das die Arbeit mit einer SQL Server-Datenbank umfasst und auf meinem PC einwandfrei funktioniert) auf einem anderen PC ausführen wollte. Das Problem lag in der Windows-Firewall auf meinem PC. Ich habe dies gelöst, indem ich zwei Regeln hinzugefügt habe. Dies ist das gesamte Verfahren zum Zulassen von SQL Server über die Windows-Firewall:
services.msc
firewall.cpl
, klicken Sie auf Zulassen einer Anwendung oder fügen Sie eine Regel hinzu, fügen Sie den zuvor kopierten Pfad hinzu (es gibt ein Verfahren, das Sie befolgen müssen), aktivieren Sie Domain und Private, und deaktivieren Sie Public.Dies ist der YouTube-Link, über den Sie das folgende Verfahren sehen können: SQL Server über die Windows-Firewall zulassen
quelle
Wenn keine der oben genannten Lösungen funktioniert (bei mir hat nichts funktioniert), starten Sie einfach Ihren Computer neu und Sie können eine Verbindung zu Ihrem SQL Server (localhost) herstellen.
quelle
Nachdem Sie alles getan haben, was hier erwähnt wird:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a- Verbindung-zu-SQL-Server-Microsoft-SQL-Server-Fehler / Hat bei mir immer noch nicht funktioniert.
Schritte haben bei mir funktioniert:
Start > Run > cmd > sqlcmd -L
Sie werden aufgefordert, den Servernamen einzugeben. Stellen Sie sicher, dass dieser Servername mit dem übereinstimmt, mit dem Sie in der Box CONNECT TO SERVER von SQL Management Studio eine Verbindung herstellen möchten.
Ich habe diesen dummen Fehler gemacht, den ich immer wieder benutze
MSSQLSERVER
anstatt diesen Servernamen zu verwenden.Hoffe, das hilft den Leuten, die wie ich dumme Fehler machen.
Vielen Dank.
quelle
Als erstes müssen Sie eine Remoteverbindung zu SQL Server zulassen. Ich habe im Startmenü sqlservermanager13.msc eingegeben , um den SQL Server Configuration Manager zu öffnen. Stellen Sie sicher, dass der TCP / IP-Status aktiviert ist.
Überprüfen Sie Ihre TCP-Portnummer, indem Sie auf den Namen des TCP / IP-Protokolls doppelklicken. Normalerweise ist es standardmäßig 1433.
Mit den folgenden Verfahren wird die Windows-Firewall mithilfe der Windows-Firewall mit MMC-Snap-In (Advanced Security Microsoft Management Console) konfiguriert. Die Windows-Firewall mit erweiterter Sicherheit konfiguriert nur das aktuelle Profil.
Eine andere Sache zu konfigurieren.
Schauen Sie sich die Microsoft-Doucmentation an. Konfigurieren Sie eine Windows-Firewall für den Zugriff auf das Datenbankmodul
quelle
Sie können die folgenden Methoden testen.
Suchen Sie auf der mittleren Registerkarte den Datensatz "lokaler Port" (1433). Wenn Sie ihn nicht finden können, versuchen Sie, ihn mit den folgenden Ebenen zu erstellen
quelle
Diese Lösung löst sowohl Probleme
network error
als auch denservice
dahinter stehenden SQL ServerIch habe hier eine ähnliche Frage beantwortet. Sie müssen die andere
open Run type-> services.msc
unter "Dienste" angeben.>sort by stopped
Sie sehen eine Reihe von gestoppten SQL-DienstenRight click and start
Zu Beginn gibt es 4 Probleme, die die häufigsten Verbindungsfehler mit LocalDb SqlExpress Sql Server verursachen
SQL Network Interfaces, error: 50 - Local Database Runtime error occurred
können. Bevor Sie beginnen, müssen Sie v11 oder v12 in (localdb) \ mssqllocaldb umbenennennet start MSSQLSERVER
odernet start MSSQL$ instancename
Ich fand, dass es am einfachsten ist, das Folgende zu tun - ich habe die Bilder und Schritte zur Hilfe angehängt.
Überprüfen Sie zunächst, welche Instanz Sie installiert haben. Überprüfen Sie dazu die Registrierung und führen Sie cmd aus
cmd> Sqllocaldb.exe i
cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"
Wenn dieser Schritt fehlschlägt, können Sie mit der Optiond
cmd> Sqllocaldb.exe d "someDb" löschen.cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"
quelle
Ich hatte das gleiche Problem und das Problem war, dass ich mehrere Projekte in der Lösung (
Web
undDroid
) hatte und obwohlDefault project
in der ausgewähltPackage Manager Console
, wurde die Verbindungszeichenfolge aus demDroid
Projekt verwendet:Nach dem Einstellen der
Startup Project
aufWeb
und dieDefault Project
inPackage Manger Console
habe ich es an der Arbeit.quelle
Ich muss den SQL Server-Browserdienst in SQL Server Configuration Manager ausführen . Die Installation kann einen neu erstellten Dienst ohne diesen nicht erkennen.
quelle
Die oben genannten Lösungen sollten zwar in 90% der Fälle funktionieren, aber wenn Sie diese Antwort noch lesen !!! Sie versuchen wahrscheinlich, eine Verbindung zu einem anderen Server als beabsichtigt herzustellen. Dies kann daran liegen, dass eine Konfigurationsdatei auf einen anderen SQL Server verweist als der tatsächliche Server, zu dem Sie eine Verbindung herstellen möchten.
Ist mir zumindest passiert.
quelle
Ich bin von einem Arbeitslaptop unter Windows 7 zu einem Arbeitslaptop unter Windows 10 gewechselt. Ich habe SSMS2016 unter Windows 7 erfolgreich verwendet.
Das gleiche Problem trat bei Verwendung von SSMS2012 oder SSMS2016 auf. Mein Zugriff auf die 10 SQL-Server mithilfe der Windows-Authentifizierung war immer noch der gleiche. Ich könnte dies von einem anderen Server testen. Allerdings 2 der 10 Server nicht von meinem Laptop verbinden . Beide waren MS SQL Server 9, aber ich konnte eine Verbindung zu anderen SQL Server 9-Datenbanken herstellen.
Die Lösung bestand darin , eine Firewall-Regel hinzuzufügen (unter Verwendung der Windows-Firewall mit erweiterter Sicherheit).
Erstellen Sie eine Eingangsregel für jedes SSMS, z. B. C: \ Programme (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ Ssms.exe
Ich bin kein Netzwerkexperte, daher habe ich die Details nicht angegeben, aber hoffentlich weist es Sie in die richtige Richtung.
Fehlermeldung (Vor-Firewall-Regel) "Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht verfügbar. Stellen Sie sicher, dass der Instanzname korrekt und SQL Server für konfiguriert ist Remoteverbindungen zulassen (Anbieter: SQL-Netzwerkschnittstellen, Fehler: 26 - Fehler beim Auffinden des angegebenen Servers / der angegebenen Instanz) (.Net SqlClient Data Provider) "
quelle
Warum dieser Fehler so langweilig und laut ist, nur weil er in verschiedenen Situationen auftreten kann.
Ich habe hier oben alle Ansätze gemacht und werde immer noch gelutscht. Stellen Sie also sicher, dass Sie dasselbe getan haben wie ich, bevor Sie nach unten blättern.
Vielleicht bin ich nicht in der Lage, deine Situation sofort zu beheben, aber ich kann dir eine Richtung oder ein Denken aufzeigen (Derjenige, der endlich hier runterrutscht). Ich habe begonnen, über den Fehler meines laufenden Programms nachzudenken, nachdem ich sichergestellt habe, dass der Instanzname eindeutig richtig ist, und meine Datenbank so eingestellt, dass die Fernsteuerung nach den oben beschriebenen Methoden möglich ist. Danach vermutete ich, dass in meinem Codefragment der SQL-Verbindung etwas nicht stimmte.
Lösung meines Problems:
Es funktioniert für mich, wenn ich darüber nachdenke, was genau im Verbindungsprozess passiert. Ich hoffe, mein Denken wird dazu führen, dass du deinen Fehler tötest.
quelle
Ich habe alle anderen Antworten auf diese Frage ausprobiert und einige, wenn nicht alle, haben wahrscheinlich dazu beigetragen, dass dies für mich funktioniert, aber ich konnte immer noch keine Remote-Verbindung zur DB herstellen. Ich habe einen SQL Server auf einer Azure-VM verwendet.
Ich erinnerte mich schließlich daran, dass die VM über Endpunkte verfügt, die vom Azure-Konto-Proxy gesteuert werden. Daher ging ich zum Azure-Portal und fügte 1433 als verfügbaren Endpunkt hinzu, um eine Verbindung zu meiner SQL-Instanz herzustellen.
Hoffe das hilft jemandem, der alle anderen Antworten ausprobiert hat und noch kein Glück hat!
quelle
Zusammenfassung
Verwenden Sie SQL Server Configuration Manager, um ein Problem zu beheben, das beim Ausführen der lokalen App im Vergleich zur Remotedatenbank auftritt, und fügen Sie einen Alias für die Remotedatenbank hinzu.
Einzelheiten
Ich war kürzlich auf dieses Problem gestoßen, als ich von einem Windows 7 auf einen Windows 10-Laptop umgestiegen bin. Ich habe eine lokale Entwicklungs- und Laufzeitumgebung ausgeführt, die auf einem Remote-Server auf unsere Dev-Datenbank zugreift. Wir greifen auf die Dev-Datenbank über einen Server-Alias zu, der über das SQL Server-Client-Netzwerkdienstprogramm (cliconfg.exe) eingerichtet wurde. Nachdem ich bestätigt hatte, dass der Alias sowohl in der 64-Bit- als auch in der 32-Bit-Version des Dienstprogramms korrekt eingerichtet war und dass der Datenbankserver vom neuen Laptop über SSMS zugänglich war, wurde vom OP immer noch der Fehler angezeigt (nicht die IP-Adresse des OP von Kurs).
Es war erforderlich, SQL Server Configuration Manager zu verwenden, um einen Alias für den Remote-Dev-Datenbankserver hinzuzufügen. Die Dinge wurden behoben.
quelle
Sie können den Dienststatus von MS SQL Server 2014 überprüfen. In Windows 7 können Sie dies folgendermaßen tun:
quelle
Mein Problem begann, als ich versuchte, den Server von IIS Express auf Local IIS zu ändern (während ich LocalDB verwendete ).
Ich habe LocalDB (für Entwicklungszwecke) verwendet, und als ich von Local IIS zu IIS Express zurückkehrte, hatte Visual Studio meine Datenquelle von Data Source = (LocalDb) \ MSSQLLocalDB auf Data Source =. \ SQLEXPRESS umgestellt
Falsche Verbindungszeichenfolge
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
Richtige Verbindungszeichenfolge
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />
Hoffe das hilft jemandem da draußen.
quelle
Stellen Sie neben dem Versuch von Teo Chuen Wei Bryan sicher, dass Sie sich auch auf den richtigen Server- / Instanznamen in der Verbindungszeichenfolge beziehen.
Wenn Sie die Kurzform Hostname / Instanz auf dem Datenbankserver oder in der Datei web.config verwenden, stellen Sie sicher, dass Sie den vollqualifizierten Domänennamen (FQDN) / die Instanz verwenden
Um die Konnektivität von einem Server zu testen, auf dem der SQL Server-Client NICHT vorhanden ist,
-> Erstellen Sie eine Textdatei und ändern Sie deren Dateierweiterung in .udl
-> Klicken Sie mit der rechten Maustaste auf die Datei und Sie sehen die Registerkarte Verbindung.
-> Geben Sie den Servernamen und die Anmeldeinformationen ein, um die Verbindung zum Datenbankserver zu testen.
Hoffe das hilft.
quelle
Wenn dieser Fehler beispielsweise in einer Produktionsumgebung plötzlich auftritt und sich nichts geändert hat, versuchen Sie die folgenden 4 Elemente in der folgenden Reihenfolge, um festzustellen, ob er behoben wird.
quelle
Als dieser Fehler in Visual Studio auftrat,
... war es während der Ausführung des folgenden C # -Codes, der versuchte, meine SQL Server-Daten abzurufen, um sie in einem Raster anzuzeigen. Die Unterbrechung trat genau in der Zeile auf, in der connect.Open () angegeben ist:
Es war unerklärlich, weil die SQL-Abfrage sehr einfach war, ich die richtige Verbindungszeichenfolge hatte und der Datenbankserver verfügbar war. Ich habe mich entschlossen, die eigentliche SQL-Abfrage manuell in SQL Management Studio auszuführen. Sie lief einwandfrei und lieferte mehrere Datensätze. In den Abfrageergebnissen fiel jedoch eines auf: In einem Feld vom Typ varchar (max) in der Tabelle "Friends" befand sich ein nicht ordnungsgemäß codierter HTML-Text (insbesondere einige codierte Kommentarsymbole der Art,
<!--
die in den Daten der Spalte "Narrative" enthalten sind). Die verdächtige Datenzeile sah folgendermaßen aus:Beachten Sie das codierte HTML-Symbol "
<
", das für ein "<" - Zeichen steht. Irgendwie gelangte das in die Datenbank und mein C # -Code konnte es nicht aufnehmen! Es ist jedes Mal direkt in der Zeile connect.Open () fehlgeschlagen! Nachdem ich diese eine Datenzeile in der Datenbanktabelle Friends manuell bearbeitet und stattdessen das dekodierte Zeichen "<" eingegeben hatte, funktionierte alles! So hätte diese Reihe aussehen sollen:Ich habe die eine fehlerhafte Zeile, die ich hatte, mit dieser einfachen UPDATE-Anweisung unten bearbeitet. Wenn Sie jedoch mehrere fehlerhafte Zeilen mit codiertem HTML hatten, benötigen Sie möglicherweise eine ausführlichere UPDATE-Anweisung, die die REPLACE-Funktion verwendet:
Die Moral der Geschichte lautet also (zumindest in meinem Fall), Ihren HTML-Inhalt zu bereinigen, bevor Sie ihn in der Datenbank speichern, und Sie werden diesen kryptischen SQL Server-Fehler überhaupt nicht erhalten! (Äh, die ordnungsgemäße Bereinigung / Dekodierung Ihres HTML-Inhalts ist Gegenstand einer weiteren Diskussion, die einer separaten StackOverflow-Suche würdig ist, wenn Sie weitere Informationen benötigen!)
quelle
Fügen Sie am Ende Ihrer Verbindungszeichenfolge eine
,
und eine Portnummer (wie in,1433
) hinzu.quelle
Die Anordnung der XML-Tags in Web.config ist wichtig
Zuerst
Nach
quelle
In meiner Situation hatte der MSSQLSERVER-Dienst ein Problem, daher habe ich den Dienst neu gestartet und das Problem behoben.
Daher empfehle ich, zur Dienst-App zu gehen, indem Sie: Windows-Schlüssel, "Dienste" suchen und dann Ihre SQL-Instanz normalerweise "SQL Server (MSSQLSERVER)" unter für Microsoft SQL Server suchen. Klicken Sie mit der rechten Maustaste auf Dienst und klicken Sie auf Start. Wenn deaktiviert, klicken Sie auf Neu starten.
quelle
Dieser Fehler tritt auf, wenn Ihre SQL Server-Instanz ist
stopped
.Gehen Sie zu allen Programmen> SQL Server> Konfigurationstools> SQL Server-Konfigurationsmanager
Klicken Sie dann auf SQL SERVER SERVICES. Die Liste der Instanzen wird angezeigt. Wählen Sie die betreffende Instanz aus und klicken Sie auf das Wiedergabesymbol in der oberen Symbolleiste. Ich hoffe, dies hilft.
Diese Antwort ist sehr spät (aber besser spät als nie;)
quelle
Ich habe dieses Problem behoben, indem ich das Projekt festgelegt habe, das Entity Framework als Startprojekt verwendet, und dann den Befehl "update-database" ausgeführt habe.
quelle