it-swarm.com.de

Es wurde eine Verbindung mit dem Server erfolgreich hergestellt. Beim Handshake vor der Anmeldung ist jedoch ein Fehler aufgetreten

Ich erhalte eine Fehlermeldung, wenn ich versuche, Production DB aus der lokalen Umgebung zu verbinden.

Ich konnte Production DB schon früher anschließen, aber plötzlich bekomme ich einen Fehler, eine Idee?

Es wurde eine Verbindung mit dem Server erfolgreich hergestellt. Beim Handshake vor der Anmeldung ist jedoch ein Fehler aufgetreten. (provider: TCP Provider, Fehler: 0 - Das Handle ist ungültig.)

Ich habe versucht, die asp.net-Website auf einem lokalen PC auszuführen, der die Verbindungszeichenfolge der Produktions-DB hat. Im Folgenden wird der Stack-Trace für Fehler angezeigt, die in der lokalen Umgebung angezeigt werden.

at MyWebsiteDAL.clsForumQuestion.SelectAll (Int32 CurrentPageIndex, Int32 PageSize) in D:\EDrive\Meine Websites\MyWebsite\MyWebsite\MyWebsiteDAL\clsForumQuestion.cs: Zeile 821 at CodeConnect.Default.Page_Load (Objektsender, EventArgs e) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsite\Default.aspx.cs: Zeile 100 at System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Objektsender, EventArgs e) at System.Web.UI.Control.OnLoad (EventArgs e) at System.Web.UI.Control.LoadRecursive () at System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Irgendeine Idee, was hier falsch gelaufen sein könnte?

92
Jordon Willis

Lösung

1) Reinigen Sie Ihre VS.Net-Lösung

2) Projekt neu erstellen.

3) IIS zurücksetzen

4) Führen Sie das Projekt erneut aus.

Im Grunde hat das mein Problem gelöst, aber in meinem Fall bekam ich diesen Fehler nicht und plötzlich beginnt meine lokale Umgebung mit dem obigen Fehler, so dass dieser Trick für mich funktionieren kann.

140
Jordon Willis

- Ich habe meine Arbeit gerettet,
- Dann geschlossenes Visual Studio
- mein Projekt wiedereröffnet

Funktioniert immer für mich.

11
Dumisani

Dieser Fehler ist bei einigen sehr speicherintensiven Prozessen aufgetreten. Als das System anfing, dass der Speicher knapp wurde, bemerkte ich diesen Fehler ... Ich musste den Algorithmus ändern, um den Arbeitsspeicher besser nutzen zu können.

Zu beachten ist, dass einige Threads diese Ausnahme auslösten, andere jedoch:

System.Data.SqlClient.SqlException (0x80131904): Verbindungszeitüberschreitung abgelaufen. Die Zeitüberschreitung ist vergangen, als versucht wurde, die Handshake-Bestätigung vor der Anmeldung zu verwenden. Dies kann daran liegen, dass der Handshake vor der Anmeldung fehlgeschlagen ist oder der Server nicht rechtzeitig antworten konnte. Die Dauer, die beim Verbindungsaufbau zu diesem Server aufgewendet wurde, war - Initialisierung vor der Anmeldung = 43606; Handshake = 560; ---> System.ComponentModel.Win32Exception (0x80004005): Die Wartezeit ist abgelaufen

Beide Probleme verschwanden, nachdem das System geändert wurde, sodass weniger RAM verwendet werden konnte.

8

Das Ausführen des folgenden Befehls hat für mich funktioniert:

netsh Winsock reset

Gesehen unter https://serverfault.com/a/487139/250527

7
Ricardo Stuven

Ich hatte das gleiche Problem, ich hatte Sitzungsdaten in der Datenbank gespeichert, die Verbindungszeichenfolge hatte Encrypt = True , und ich nehme an, dass der SQL-Client eine Verbindung zum Server im sicheren (SSL) -Modus hergestellt hat hat geholfen

5
Terry Kernan

Vielleicht möchten Sie ein paar Dinge prüfen:

  1. Ihr Produktionsserver lässt Remoteverbindungen zu. (Möglicherweise hat jemand dies deaktiviert, insbesondere wenn Sie einen DBA haben)

  2. Überprüfen Sie Ihre Verbindungszeichenfolge. Wenn Sie eine IP-Adresse oder einen Servernamen verwenden, führt dies manchmal zu diesem Fehler. Probiere beides.

5

Wie in der Antwort von Ricardo beschrieben, 

netsh Winsock reset

hat für mich gearbeitet, 

P.S. Wenn Sie über einen Internet-Download-Manager oder über solche Programme verfügen, bei denen die IP-Einstellung installiert ist, werden Sie nach dem Ausführen dieses Befehls beim Neustart des IDM-Computers aufgefordert, die Einstellung zu ändern. Setzen Sie in diesem Fall NEIN und führen Sie Ihre Anwendung anschließend aus.

Hoffe es 

3
Vishal Sharma

Ich hatte ein ähnliches Problem, bei dem ich keine Verbindung zu einer Datenbank herstellen konnte, und versuchte die Empfehlungen hier.

Am Ende des Tages hat dies für mich funktioniert:

Verwenden Sie das SQL Server-Konfigurations-Manager-Tool zum Aktivieren der Protokolle TCP/IP und/oder Named Pipes auf dem SQL Server-Clientcomputer.

  1. Klicken Sie auf Start, zeigen Sie auf Alle Programme, und klicken Sie auf SQL Server Configuration Manager.
  2. Erweitern Sie SQL Server-Netzwerkkonfiguration, und klicken Sie auf Clientprotokolle.
  3. Klicken Sie mit der rechten Maustaste auf das TCP/IP-Protokoll, und klicken Sie dann auf Aktivieren.
  4. Klicken Sie mit der rechten Maustaste auf das Named Pipes-Protokoll, und klicken Sie dann auf Aktivieren.
  5. Starten Sie den SQL Server-Dienst neu, wenn Sie dazu aufgefordert werden.

Ich bin immer noch nicht sicher, warum oder wann dies deaktiviert wurde.

3
daffyjeje

In meinem Fall war es:

Persist Security Info=True; 

in meiner Verbindungszeichenfolge, die entfernt werden musste. Nachdem ich das getan hatte, hatte ich keine Probleme mehr.

2
delliottg

Für mich ist die Lösung, Zombie zu töten IIS Express-Worker-Prozesse.

z.B. Suchen Sie im Task-Manager und beenden Sie die Task.

enter image description here

2
Daniel de Zwaan

Ich hatte das gleiche Problem und hatte mit den vorgeschlagenen Korrekturen kein Glück. Ich stieß dann auf diesen Artikel und sah den Kommentar von Mirrh zu einem Programm namens Sendori, das den LSP blockiert. Keine Ahnung, wie es auf meinen Computer gekommen ist, aber da war es und das Entfernen beseitigte das Problem.

Wenn der Artikel nicht funktioniert, überprüfen Sie Ihre Programme und deinstallieren Sie Sendori, wenn Sie es sehen.

1
rickeroye

Ich habe SQL Server (Sharepoint) service neu gestartet und das Problem gelöst.

1
user2087459

Ich bekam genau das gleiche Problem ohne Änderungen an der Code-Basis oder den Servern. Es stellte sich heraus, dass der DB-Server mit 100% CPU betrieben wurde und der SQL Server an CPU-Zeit gehindert wurde, was zu einem Timeout führte.

1
TheLukeMcCarthy

Ich habe diesen Fehler erfahren und alle Vorschläge von euch hier gemacht, aber keiner hatte Auswirkungen auf meinen Fehler.

Ich habe den Schuldigen erwischt: Wenn Sie die *.ini-Datei für Ihr System verwenden, möchten Sie vielleicht prüfen, welcher Servername dort eingegeben wurde, und sicherstellen, dass er mit dem in Ihrer web.config-Verbindungszeichenfolge übereinstimmt.

0
user3619399

In meinem Fall bekam ich den Fehler, als ich auf eine entfernte Datenbank zugreifen wollte. Ich löste es jedoch, indem ich den SQL Server-Browserdienst startete.

 enter image description here

0

Hatte dasselbe Problem, der Grund dafür war die BCrypt.Net-Bibliothek, die mit dem .NET 2.0-Framework kompiliert wurde, während das gesamte Projekt, in dem es verwendet wurde, mit .NET 4.0 kompiliert wurde. Wenn die Symptome identisch sind, versuchen Sie, BCrypt-Quellcode herunterzuladen, und erstellen Sie ihn in release configuration in .NET 4.0 neu. Nachdem ich es geschafft hatte, funktionierte "Pre-Login Handshake" einwandfrei. Ich hoffe es hilft jedem.

0
Eadel

Das gleiche Problem hier und keine der hier aufgeführten Antworten funktionierten, noch Lösungen, die ich online finden konnte. Das Problem begann kurz nachdem Windows 10-Jubiläums-Update auf meinem Entwicklungscomputer angewendet wurde und nur meine alte SQL Server 2005-Instanz betraf. Ich konnte keine Verbindung zur Instanz über meine Webanwendungen oder sogar mithilfe von SQL Management Studio herstellen.

Was es wert ist, hat es für mich gelöst:

  1. Öffnen Sie den SQL Server-Konfigurations-Manager (je nachdem, welche Version von SQL Server Sie ausführen):

    • C:\Windows\SysWOW64\SQLServerManager.msc
    • C:\Windows\SysWOW64\SQLServerManager10.msc ODER
    • C:\Windows\SysWOW64\SQLServerManager12.msc ODER
    • usw
  2. SQL Server Services auswählen

  3. Finden Sie den gestörten Dienst und zeigen Sie Eigenschaften an.

    • zB SQL Server (SQL2005) in meinem Fall
  4. Ändern Sie auf der Registerkarte "Anmelden" das "integrierte Konto" in "Netzwerkdienst".

Das ist fast das, was diese zufällige Lösung gesagt hat: http://www.kutayzorlu.com/operating-systems/linux-unix-redhat-debian-ubuntu-opensuse-centos/general-server-administrating/error-fixed-a -verbindung-war-erfolgreich-etabliert-mit-dem-Server, aber dann trat ein Fehler auf, der während des Vor-Login-Handshake-12405.html aufgetreten ist

Ich habe mich ohne Grund für Network Service entschieden. Meine war bereits für die Verwendung des lokalen Systems konfiguriert. Diese Sicherheit spielt für mich keine Rolle, da sie nur auf meinem lokalen Entwicklungscomputer problematisch war, auf den nur lokal zugegriffen werden kann. Ich kann nicht sagen, warum das funktioniert, aber es tat es.

0
Arkiliknam