服务器踩坑SSMS链接Ubuntu上的SQL Server 2019 报错 TCP Provider: Error code 0x2746
Posted 写代码的相声演员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器踩坑SSMS链接Ubuntu上的SQL Server 2019 报错 TCP Provider: Error code 0x2746相关的知识,希望对你有一定的参考价值。
昨天在一台Ubuntu18.04.2 上安装了SQL Server 2019 for Linux
服务正常启动了,但是却无法通过命令行工具或者远程Windows机器上的SSMS链接。
SSMS错误是
Sqlcmd的错误是
Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746
关闭了防火墙,还是不行。
无奈访问了一下著名的同性交友网站Stackoverflow,其中有个帖子提到了这是由于SSL版本不一致造成的,按照这个思路继续谷歌
然后找到了这个博客
博客虽然是Sql Server 2017的出现的问题与2019一致,大致原理是Ubuntu已经把SSL更新到了1.1,但是Sql Server和SSMS以来的SSL是1.0版本的,由于版本不一致造成无法链接。
解决方案:
将MSSQL的SSL设置为1.0版本
依次执行命令
1 # 先停止MSSQL 2 sudo systemctl stop mssql-server 3 4 # 编辑服务配置 5 sudo systemctl edit mssql-server 6 7 # 在打开的编辑器中输入 8 [Service] 9 Environment="LD_LIBRARY_PATH=/opt/mssql/lib" 10 #输入完 Ctrl+S 保存 Ctrl + X退出 11 12 # 给MSSQL创建指向SSL1.0的链接 13 sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/mssql/lib/libssl.so 14 sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/mssql/lib/libcrypto.so 15 16 # 重启MSSQL 17 sudo systemctl start mssql-server
以上是关于服务器踩坑SSMS链接Ubuntu上的SQL Server 2019 报错 TCP Provider: Error code 0x2746的主要内容,如果未能解决你的问题,请参考以下文章
打开sql提示ssms.exe找不到入口提示乱码找不到动态链接库msvcr80.dll
在不使用 SSMS 的情况下恢复 SQL Server 上的 .bak 数据库文件? [数据夹]
sql server查询结果集复制出来的行数和在SSMS上的行数不一致
SSMS 远程连接SERVER 设置 - Unable to connect to SQL Server instance remotely