我正在尝试按照文档在我的 Linux 中设置 ms-sql 服务器https://learn.microsoft.com/pl-pl/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-2017
SQL 服务器状态为活动(正在运行)。
我在执行命令时收到以下错误
sqlcmd -S localhost -U SA -P '<YourPassword>'
Error:
Sqlcmd:错误:适用于 SQL Server 的 Microsoft ODBC 驱动程序 17:TCP 提供程序:
错误代码 0x2746。 Sqlcmd:错误:适用于 SQL 的 Microsoft ODBC 驱动程序 17
服务器:客户端无法建立连接。
我也尝试通过发出命令
sqlcmd -S 127.0.0.1 -U SA -P '<YourPassword>'
但显示相同的错误。当我尝试错误的密码时,它也会显示相同的错误。
[更新 2020 年 3 月 17 日:Microsoft 发布了带有 Ubuntu 18.04 存储库的 SQL Server 2019 CU3。看:https://techcommunity.microsoft.com/t5/sql-server/sql-server-2019-now-available-on-ubuntu-18-04-supported-on-sles/ba-p/1232210。我希望现在完全兼容,没有任何 ssl 问题。还没有测试过它。]
恢复到 14.0.3192.2-2 会有所帮助。
但也可以使用 Ola774 指出的方法解决该问题,不仅在从 Ubuntu 16.04 升级到 18.04 的情况下,而且在 Ubuntu 18.04 上每次安装 SQL Server 2017 时也是如此。
看来微软现在在 cu16 中搞砸了他们自己的补丁,以解决 cu10 中应用的 ssl 版本问题(https://techcommunity.microsoft.com/t5/SQL-Server/Installing-SQL-Server-2017-for-Linux-on-Ubuntu-18-04-LTS/ba-p/385983)。但链接 ssl 1.0.0 库是有效的。
所以只需执行以下操作:
-
停止 SQL Server
sudo systemctl stop mssql-server
-
打开服务配置编辑器
sudo systemctl edit mssql-server
这将为原始服务配置创建覆盖。第一次使用时,覆盖文件(或更确切地说“放入文件”)为空,这是正确的。
-
在编辑器中,将以下行添加到文件中并保存:
[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
-
创建 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
-
启动 SQL Server
sudo systemctl start mssql-server
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)