J'exécute SQL Server sur Ubuntu depuis un certain temps et tout a bien fonctionné mais j'ai redémarré le serveur et maintenant toutes les connexions à SQL Server échouent avec l'erreur:
A connection was successfully established with the server, but then an error occurred during the login process.
(provider: SSL Provider, error: 0 -
An existing connection was forcibly closed by the remote Host.)
(Microsoft SQL Server, Error: 10054)
J'ai essayé de désinstaller et de réinstaller SQL Server, de définir diverses valeurs mssql-conf (depuis supprimées à nouveau), etc. mais rien de ce que je fais ne fait de différence.
Les articles relatifs à Windows semblent indiquer qu'il est lié à SSL, mais SSL n'était pas activé. J'ai essayé de l'activer et de définir un certificat, mais même si j'ai accordé des autorisations au certificat et à la clé privée 777 et que je me suis montré à l'utilisateur/groupe mssql, il m'a juste dit qu'il ne pouvait pas le lire, puis SQL Server n'a pas pu démarrer j'ai donc retiré à nouveau.
Quelqu'un peut-il suggérer quoi que ce soit que je puisse faire pour le faire fonctionner à nouveau s'il vous plaît car je suis à court d'idées?
Merci Robin
MSSQL attend OpenSSL v1.0 tandis qu'Ubuntu 18+ utilise OpenSSL 1.1, résultant en un incompatibilité de version OpenSSL. La solution consiste à lier symétriquement ssl v1.0 comme ci-dessous:
Arrêtez SQL Server
Sudo systemctl stop mssql-server
Ouvrez l'éditeur pour la configuration du service
Sudo systemctl edit mssql-server
Dans l'éditeur, ajoutez les lignes suivantes au fichier et enregistrez-le:
[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
Créer des liens symboliques vers OpenSSL 1.0 pour SQL Server à utiliser
Sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/mssql/lib/libssl.so
Sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/mssql/lib/libcrypto.so
Démarrez SQL Server
Sudo systemctl start mssql-server