【服务器踩坑】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

原文地址:https://www.cnblogs.com/kasimlz/p/12071028.html

时间: 2024-11-07 11:01:06

【服务器踩坑】SSMS链接Ubuntu上的SQL Server 2019 报错 TCP Provider: Error code 0x2746的相关文章

SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)

本文从零开始一步一步介绍如何在Ubuntu上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一.   创建Ubuntu系统(Create Ubuntu System) 1.      前提准备 由于本文主要研究SQL Server 2017在Linux上的搭建方法,从Install SQL Server on Linux中得知当前SQL Server 2017 CTP 2.0对于Ubuntu系统支持16.04和16.10,同时可以直接下

ubuntu 12.04 rails server 时候报错 execjs

新的应用创建好了,使用rails server启动看看,oops!原来是没有javascript运行环境. 1 2 $ rails server  /usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a

SQL Server 2008 报错:已成功与服务器建立连接,但是在登录前的握手期间发生错误

今天SqlServer 2008连接数据库时报错:已成功与服务器建立连接,但是在登录前的握手期间发生错误.在连接到 SQL Server 2008 时,在默认的设置下 SQL Server 不允许远程连接可能会导致此失败. (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程. 刚开始以为是远程数据库的问题,试了一下,同事的机器能连上.说明是我本机问题了,然后连接本地数据库,也报同样的错误. 参考 http://friendship517.blog.163.c

【随手记】解决StartUML启动报错--"System Error. Code:1722. RPC服务器不...

错误表现:启动时候每次都会出现"System Error. Code:1722. RPC服务器不可用."错误.原因分析:Print Spooler这个服务没有启动导致 解决办法:     控制面板----管理工具-----服务,右边看,找见这个服务,双击打开-点击启动.     属性里改为自动 ,系统会自动的为你启动这个服务.

Configure Always On Availability Group for SQL Server on RHEL——Red Hat Enterprise Linux上配置SQL Server Always On Availability Group

下面简单介绍一下如何在Red Hat Enterprise Linux上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 之前发表过一篇类似的文章是Configure Always On Availability Group for SQL Server on Ubuntu——Ubuntu上配置SQL Server Always On Availability Group,有对Ubuntu感兴趣的请看那一篇

在 Debian 上的 SQL Server 的安裝指引

我想在 linux 环境下尝试一下 Microsoft SQL Server,但是微软只发布了针对 Red Hat,SUSE,Ubuntu 和 Docker 引擎的.我平时习惯使用 Debian, Ubuntu 是基于 Debian 的,所以就基本按照在 Ubuntu 上安装的方法在 Debian 上安装,最终成功安装了. 系统要求 SQL Server 2017 具有以下适用于 Linux 的系统要求: 内存 2 GB 文件系统 XFS或EXT4 (其他文件系统,如BTRFS,均不受支持) 磁

如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析团队的分析环境),花了一个星期,搭好了.还YY过给这个亲生的儿子起个装逼的名字呢,莫扎特,巴赫什么的,并YY出以下场景{Jenny ,你把模型扔到莫扎特上跑一版最新结果出来...啊哈是不是特有逼格..哦哈哈...}我是部署的Rstudio server,这个是免费的,但是Rstudio sererv

ubuntu php 连接sql server

1.下载最新的freetds ,访问 http://www.freetds.org/, 或者在 ubuntu上用 wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz 下载稳定的版本. 2.安装freetds 和 配置 freetds cd 进入freetds所在目录, $ tar zxvf freetds-stable.tgz(解压) $ ./configure --prefix=/usr/local/freetds

管理使用CentOS 7上的SQL Server

在上一篇中,我们完成了SQL的功能组件,那么接下来就是我们如何连接管理使用这个CentOS上的SQL Server了. 我们可以下载一个SQL管理器进行连接使用了,这个SQL管理器建议在https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms下载 这个SQL管理器有什么好处呢?看下图,是不是感觉不错,兼容性和可以连接的好多版本,包括Azure上的SQL哟. 当然支持中文的哟 开始安装