Freigeben über


Problembehandlung bei SSL-Fehlern (Secure Sockets Layer), die während des Anmeldevorgangs auftreten

Notiz

  • Dieser Artikel ist nur für Windows vorgesehen.
  • Konsistente Authentifizierungsfehler sind in der Regel auf falsche Einstellungen zurückzuführen, während zeitweilige Fehler in der Regel auf eine verworfene Verbindung, schlechte Leistung oder Timeoutprobleme zurückzuführen sind.
  • Es wird empfohlen, Dateierweiterungen in Windows Explorer zu aktivieren.

Symptome

Bei Verwendung von TLS/SSL treten möglicherweise einige der folgenden Fehler auf:

Named Pipes

Eine Verbindung mit dem Server wurde erfolgreich hergestellt, aber dann trat während des Anmeldevorgangs ein Fehler auf. (Anbieter: SSL-Anbieter, Fehler: 0 - Kein Prozess am anderen Ende der Pipe) Microsoft SQL Server, Fehler: 233.

TCP

Eine Verbindung mit dem Server wurde erfolgreich hergestellt, aber dann trat während des Anmeldevorgangs ein Fehler auf. (Anbieter: SSL-Anbieter, Fehler: 0 – Die Verbindung wurde durch Remotehost 10054 forcibly geschlossen) Microsoft SQL Server, Fehler: 233.

Lösung

Führen Sie die folgenden Schritte aus, um diese SSL-Fehler zu beheben:

  1. Aktualisieren Sie Ihr abgelaufenes oder falsches Zertifikat.
  2. Aktivieren Sie TLS-Protokolle.
  3. Stellen Sie sicher, dass auf dem Client und server übereinstimmende Verschlüsselungssammlungen vorhanden sind.

Weitere Informationen zu diesen Schritten finden Sie unter SSL-Fehler nach dem Upgrade auf TLS 1.2.

Wenn diese Lösung nicht funktioniert, verwenden Sie die Schritte im folgenden Abschnitt, um detailliertere Protokolle zu sammeln, um Einblicke in die Ursache dieser Fehler zu erhalten.

Erweiterte SSL-Datenerfassung

Erfassen von Windows-Einstellungen mit SQLCHECK

Führen Sie SQLCHECK auf Clientcomputern, Servercomputern und anderen zugehörigen Systemen aus, z. B. auf einem Webserver oder einem SQL Server-Zwischencomputer mit verknüpftem Server.

  1. Laden Sie die neueste Version von SQLCHECK herunter, und entpacken Sie sie in einen Ordner, z . B. C:\MSDATA.
  2. Doppelklicken Sie in Windows Explorer auf die ausführbare Datei. Ein Bericht wird in den Ordner geschrieben, in dem sich SQLCheck.exe befindet.

Konfigurieren der Integrierten Diagnoseablaufverfolgung (Built-In Diagnostic, BID) des Treibers

  1. Laden Sie die neueste Version von SQLTRACE herunter, und extrahieren Sie sie in einen Ordner, z . B. C:\MSDATA.

    Es gibt zwei Dateien, SQLTrace.ps1 und SQLTrace.ini. Die INI-Datei wird verwendet, um zu konfigurieren, was erfasst werden soll.

  2. Öffnen Sie SQLTrace.ini im Editor, und wechseln Sie zum Abschnitt "BID Trace ".

  3. Stellen Sie sicher, dass diese BIDTrace=yes Einstellung festgelegt ist.

  4. Stellen Sie sicher, dass BIDProviderList sie dem von Der Anwendung verwendeten Treiber entspricht.

    Die integrierten System.Data.SqlClient .NET-Treiber werden automatisch aktiviert. Wenn dies nicht die treiber sind, die Ihre Anwendung verwendet, kommentieren Sie diese Zeile mit dem # Zeichen, und heben Sie die Kommentare eines der anderen Auskommentare auf, z. B. den ODBC-Abschnitt oder den OLEDB-Abschnitt. Wenn Sie nicht sicher sind, fragen Sie den Datenbankadministrator (DBA) oder anwendungsentwickler, oder verwenden Sie den vierten BIDProviderList, der alle derzeit verwendeten Treiber enthält.

  5. Speichern Sie die Datei .

Konfigurieren der Netzwerkablaufverfolgung

Der Netzwerkabschnitt wird automatisch mit Network=yes und NETSH=yes. Diese Einstellungen sollten aus gutem Grund nicht geändert werden.

Wenn Sie eine lokale Verbindung nachverfolgen, stellen Sie sicher, dass die Anwendung TCP/IP anstelle des freigegebenen Speichers oder named Pipes verwendet. Installieren und verwenden Sie WireShark für die Netzwerkaufnahme, da sie LoopBack-Aufzeichnungen unterstützt. WireShark erfasst auch den VPN-Datenverkehr ziemlich gut.

Konfigurieren der Authentifizierungsablaufverfolgung

Der Abschnitt "Authentifizierung " wird automatisch mit Auth=yes und vielen anderen Einstellungen konfiguriert.

Möglicherweise müssen Sie auch im Abschnitt MISC festlegenFlushTickets=yes. Es werden Kerberos-Tickets für alle Benutzer und Dienste auf dem Computer geleert.

Aktivieren von BID-Ablaufverfolgungen

Nachdem alle Änderungen an der SQLTrace.ini Datei gespeichert wurden, müssen BID-Ablaufverfolgungen aktiviert sein, bevor die Ablaufverfolgung beginnen kann.

  1. Öffnen Sie PowerShell als Administrator.

  2. Ändern Sie das Verzeichnis in den Ordner, der SQLTrace.ps1 enthält.

    CD C:\MSDATA
    
  3. Initialisieren Sie die BID-Ablaufverfolgungsregistrierung.

    .\SQLTrace.ps1 -setup
    
  4. Starten Sie den Dienst oder die Anwendung neu, den Sie nachverfolgen möchten. Andernfalls wird die Anwendung nicht nachverfolgt.

Sammeln der Ablaufverfolgungsdaten

Notiz

Stellen Sie sicher, dass die vorherigen Schritte auf allen Computern abgeschlossen wurden, bevor Sie fortfahren.

  1. Öffnen Sie PowerShell auf allen Computern, die als Administrator nachverfolgt werden. Führen Sie die Startschritte auf allen Computern aus, bevor Sie das Problem wiedergeben.

  2. Ändern Sie das Verzeichnis in den Ordner, der SQLTrace.ps1 enthält.

    CD C:\MSDATA
    
  3. Starten Sie die Ablaufverfolgungsauflistung.

    .\SQLTrace.ps1 -start
    
  4. Reproduzieren Sie das Problem, wenn die Eingabeaufforderung angezeigt wird.

  5. Beenden Sie die Ablaufverfolgung.

    .\SQLTrace.ps1 -stop
    

Ein Ausgabeordner wird im aktuellen Verzeichnis generiert und kann zur weiteren Analyse verwendet werden.

Die Ablaufverfolgung kann bis zu zwei Minuten dauern, bis das Herunterladen der Ereignisprotokolle eine Weile dauern kann.

Sie können die Ablaufverfolgung mehrmals starten und beenden, ohne die Konfigurationsschritte zu wiederholen. Jedes Mal, wenn er verwendet wird, wird ein neuer Ordner mit einem Zeitstempel als Teil des Ordnernamens erstellt. Diese Zeit entspricht dem Zeitpunkt, zu dem die Ablaufverfolgung beginnt.

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.