In unregelmäßigen Abständen: "Encryption not supported on the client"

Hallo zusammen,

ich habe ein Problem mit einer Datenbank-Verbindung von einem virtuellem Server zu einem anderen virtuellem Server auf dem eine Microsoft SQL-Datenbank läuft. In unregelmäßigen Abständen kommt es zu einem Verbindungsfehler mit der folgenden Nachricht:

SQLSTATE: 08001
CODE: 21
MESSAGE: Encryption not supported on the client.
Client unable to establish connection.
A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.

Nachdem der Apache-Service neu gestartet wurde läuft die Verbindung wieder. Während der Störung kann z.B: über SQL-Management-Studio auf den SQL-Server ohne Probleme zugegriffen werden.

In den Log-Files (Apache und MSSQL-Log) finde ich zu den Zeitpunkten, zu den der Fehler auftritt keine Einträge. Unregelmäßig heißt das es zu jeder Zeit, egal ob Tag oder Nacht, mal jeden zweiten Tag, mal eine Woche oder mehr gar nicht, auftreten kann.

Der Server der mir diese Nachricht anzeigt ist ein Windows Server 2012 Standard 64bit (soll aber bald auf eine aktuelle Version upgedated werden) mit Apache 2.4.43 und PHP 7.3.7 als Modul eingebunden. Der Verbindungsaufbau zum Datenbank-Server geht über die sqlsrv_connect-Funktion der SQLSRV-Erweiterung für PHP in der Version 5.6.1. Der Benutzer für die Verbindung läuft über Windows Authentifizierung. Das ist auch aus dem MSSQL-Logfile ersichtlich.

$host = 'SERVERNAME,61433';

$config = array(
  'Database' => 'DATABASENAME',
  'CharacterSet' => 'UTF-8',
  'ReturnDatesAsStrings' => true,
);

if(!($connection = @sqlsrv_connect($host, $config)))
{
  die('error connecting to database.');
}

Der Datenbankserver hat als Betriebssystem Windows Server 2012 R2 Standard 64bit. Die Microsoft SQL-Datenbank läuft mit der Version 13.0.5026.

Alles was ich bisher online dazu finden konnte sind Konstellationen bei denen der oben genannte Fehler immer auftritt und nicht wie in meinem Fall in unregelmäßigen Abständen.

Wenn ich noch Informationen bereitstellen soll, sagt mir bitte was ihr braucht. Dann ergänze ich dies noch.

Danke schon mal und viele Grüße.
Mark

Ich habe keine Ahnung. Aber mir fällt da als Möglichkeit ein Problem mit den Zertifikaten ein. Vielleicht solltest du mal deren Gültigkeit/Ablaufdatum prüfen. Es gab mehrfach Probleme mit einem Zertifikat-Geber (war es CA? Norton? Ich weiß nicht mehr genau.).

Hi und Danke für die Antwort.

Die verwendeten Zertifikate sind gültig. Auch mit dem Zertifikatsgeber haben wir bisher keine Probleme festgestellt, da wir von diesem auch Zertifikate für z.B. Webserver-Verbindungen verwenden.

Kann sich ein Fehler an der Stelle denn so auswirkenn, dass dieser nicht immer auftritt?

Hallo!

Hier haben Leute das gleiche Problem mit unterschiedlichen Versionen von… allem.

Zunächst hat es einem geholfen, von SQLSRV 5.6.1 auf 5.6.0 zurück zu gehen. Die finale Lösung war aber, TLS1.0 und 1.1 zu deaktivieren. Das war aber mit dem SQL Server 2016.
Anderen half das allerdings auch nicht…

Es… scheint also nicht so einfach zu sein.

Hi und auch Dir Danke für die Antwort.

Den Beitrag habe ich auch schon mal gesehen, allerdings weiß ich da den Stand nicht mehr, was mir versucht haben und was nicht.

Bin jetzt mit der Version von SQLSRV zurück auf 5.6.0. Mal schauen, ob der Fehler wieder auftritt. Leider ist das immer mit abwarten verbunden, da er aus meiner Sicht willkürlich auftritt.

Na, das sind halt die liebsten Fehler. Die, die nur manchmal auftreten.

Aber es zeigt auch, daß da möglicherweise mehr dahinter steckt, als ein einfacher Fehler auf deiner Seite.

Und Hallo mal wieder.

Lange war es bei uns ruhig um das Thema aber gestern war es dann wieder soweit. Genau die gleiche Fehlermeldung wie im ersten Post beschrieben. Apache neu gestartet und alles läuft wieder.

An den TLS-Einstellungen können wir im Moment leider nichts ändern, da dies bei einen anderen Client sonst Probleme macht. Aber an der Stelle arbeiten wir gerade an einer Ablösung, so dass wir die TLS-Einstellung hoffentlich auch bald testen können. Mit der 5.6.0-er Version scheint der Fehler jedoch aus meiner Sicht um einiges seltener aufzutreten.

Also: Falls es noch weitere Idees zu dem Thema gibt gerne her damit.

Viele Grüße
Mark