zoukankan      html  css  js  c++  java
  • 【服务器踩坑】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版本不一致造成的,按照这个思路继续谷歌

    然后找到了这个博客

    https://techcommunity.microsoft.com/t5/SQL-Server/Installing-SQL-Server-2017-for-Linux-on-Ubuntu-18-04-LTS/ba-p/385983

    博客虽然是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
  • 相关阅读:
    OD: Kernel Vulnerabilities
    newInstance()和new的区别
    原型模式
    工厂模式
    代理模式
    策略模式
    简单工厂模式
    C#操作符的重载
    旅行之舌尖上的中国
    模式和原则[转载]
  • 原文地址:https://www.cnblogs.com/kasimlz/p/12071028.html
Copyright © 2011-2022 走看看