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:
- Aktualisieren Sie Ihr abgelaufenes oder falsches Zertifikat.
- Aktivieren Sie TLS-Protokolle.
- 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.
- Laden Sie die neueste Version von SQLCHECK herunter, und entpacken Sie sie in einen Ordner, z . B. C:\MSDATA.
- 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
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.
Öffnen Sie SQLTrace.ini im Editor, und wechseln Sie zum Abschnitt "BID Trace ".
Stellen Sie sicher, dass diese
BIDTrace=yes
Einstellung festgelegt ist.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 viertenBIDProviderList
, der alle derzeit verwendeten Treiber enthält.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.
Öffnen Sie PowerShell als Administrator.
Ändern Sie das Verzeichnis in den Ordner, der SQLTrace.ps1 enthält.
CD C:\MSDATA
Initialisieren Sie die BID-Ablaufverfolgungsregistrierung.
.\SQLTrace.ps1 -setup
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.
Ö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.
Ändern Sie das Verzeichnis in den Ordner, der SQLTrace.ps1 enthält.
CD C:\MSDATA
Starten Sie die Ablaufverfolgungsauflistung.
.\SQLTrace.ps1 -start
Reproduzieren Sie das Problem, wenn die Eingabeaufforderung angezeigt wird.
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.