UbuntuでSQL Serverをしばらく実行していて、すべてが正常に機能していますが、サーバーを再起動すると、SQL Serverへのすべての接続が次のエラーで失敗します。
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)
SQL Serverのアンインストールと再インストール、さまざまなmssql-conf値の設定(再度削除されたため)などを試しましたが、何も違いはありません。
Windowsに関する記事は、SSL関連であると指摘しているようですが、SSLが有効になっていませんでした。私はそれを有効にして証明書を設定しようとしましたが、証明書と秘密キー777へのアクセス許可を作成し、mssqlユーザー/グループに割り当てたにもかかわらず、読み取れなかったとSQL Serverを起動できませんでしただから私は再び削除しました。
私がアイデアがなくなったときに、それを再び機能させるために私ができることを誰かが提案できますか?
ありがとうロビン
MSSQLはOpenSSL v1.0を想定していますが、Ubuntu 18以降はOpenSSL 1.1を使用しているため、 OpenSSLバージョンの不一致。解決策 は、ssl v1.0を以下のようにシンボリックリンクします。
SQL Serverを停止する
Sudo systemctl stop mssql-server
サービス構成のエディターを開きます
Sudo systemctl edit mssql-server
エディターで、次の行をファイルに追加して保存します。
[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
SQL Serverが使用するOpenSSL 1.0へのシンボリックリンクを作成する
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
SQL Serverを起動する
Sudo systemctl start mssql-server