Sql-Server

Ubuntu 上的 SQL Server - 重啟後遠端主機強制關閉現有連接

  • December 2, 2019

我在 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 進行符號連結,如下所示:

  1. 停止 SQL Server
sudo systemctl stop mssql-server
  1. 打開服務配置的編輯器
sudo systemctl edit mssql-server
  1. 在編輯器中,將以下行添加到文件中並保存:
[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
  1. 創建指向 OpenSSL 1.0 的符號連結以供 SQL Server 使用
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
  1. 啟動 SQL Server
sudo systemctl start mssql-server

引用自:https://dba.stackexchange.com/questions/245496