错误: TCP 提供程序: 错误代码 0x2746。在 linux 下通过终端进行 Sql 设置时

共7个回答, 标签: sql-server linux tcpclient

我试图通过遵循文档在我的 linux 中设置 ms-sql serverHttps://docs.microsoft.com/pl-pl/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-2017

SQL server 状态为活动 (运行)

执行命令时,我收到以下错误

本地主机-U SA-P''

错误:

SQL Server 的 Microsoft ODBC 驱动程序 17: TCP 提供程序: 错误代码 0x2746。Sqlcmd: 错误: SQL Server 的 Microsoft ODBC 驱动程序 17: 客户端无法建立连接。

我也尝试了下命令

Sqlcmd-S 127.0.0.1-U SA-P''

但是问题没有解决,并且显示了相同的错误。

当我尝试给出错误的密码时,它也会显示同样的错误。

请帮我解决这个问题。提前谢谢!

第1个答案
Sudo apt-get 安装 mssql-server = 14.0.3192.2-2

回到这个版本对我有用。

我的场景是在 Ubuntu Server 18.04.2 上重新安装 (所有最新版本),从 sqlcmd 接收到客户端连接错误:

SQL Server 的 Microsoft ODBC 驱动程序 17: TCP 提供程序: 错误代码 0x2746

第2个答案

今天将 SQL Server 更新到 14.0.3223.3-15 版 (Ubuntu 18.04.2 LTS),本地和远程连接都遇到了完全相同的问题。回滚到以前的版本 (在我的情况下是 14.0.3192.2-2) 对我有用:

sudo apt-get install mssql-server=14.0.3192.2-2

列出机器上安装的版本:

apt-cache policy mssql-server

第3个答案

从 Ubuntu 16.04 升级到 18.04 仍然会导致一些问题

一些系统可能需要 OpenSSL 库的 1.0 版才能连接到 SQL Server。使用 OpenSSL 1.0 可以做到以下几点:

停止 SQL Server Sudo systemctl 停止 mssql 服务器 打开服务配置的编辑器 Sudo systemctl 修改 mssql 服务器 在编辑器中,将以下行添加到文件中并保存: 【服务】 环境 = "ld_library \ path =/opt/mssql/lib"_ 为 SQL Server 创建指向 OpenSSL 1.0 的符号链接以供使用 Sudo ln-s/usr/lib/x86_64-linux-gnu/libssl.so.1.0/opt/mssql/lib/libssl.so Sudo ln-s/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0/opt/mssql/lib/libcrypto.so 启动 SQL Server Sudo systemctl 启动 mssql 服务器 我希望这有帮助

第4个答案

正如其他人已经说过的,回滚使用命令到以前的版本是目前的路要走。

Sudo apt-get 安装 mssql-server = 14.0.3192.2-2

禁用更新在 mssql-server 包上:

Sudo apt-mark hold mssql-server

当你愿意的时候,这不会阻止你手动更新它。

第5个答案

在解决这个问题两天后,我终于解决了!在我的例子中,我使用 Fedora 28,所以对于使用 RHEL 的人,我遵循了本教程:

在红帽企业 Linux 8 Beta 上安装 Microsoft SQL Server

你在用 Python 3 吗?显然,在安装 Python 2 之前,你需要使用以下代码 (我想在 Ubuntu 中也可以) 切换到它:

配置 python 的替代方案

创建存储库Https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

下载它,然后在不解决依赖项的情况下安装它。

之后,您可以运行 mssql-conf 的设置:

Sudo/opt/mssql/bin/mssql-conf 设置

并从该步骤继续 Microsoft 文档教程。

在 RHEL 上安装 SQL Server 2017 的 Microsoft 教程
在 Ubuntu 上安装 SQL Server 2017 的 Microsoft 教程

注意: 我在一些论坛上读到,SQL Server 2019 可能会导致这个问题,所以我建议安装 2017 版本。

第6个答案

同样的问题这很糟糕,因为我现在在 dev,那个 “伟大” 的更新只是消磨了我的工作时间。

更新: MS 的 SQL 版本回滚帮助了我,但不幸的是,我必须删除所有数据。谢谢这是我的开发机器下面测试的所有注意事项

Ijin-> lsb_release-a
没有 LSB 模块可用。
经销商编号: LinuxMint
说明: Linux Mint 19 Tara
发布: 19
代号: 塔拉
  1. 我已经删除了 SQL 及其数据 MS
Sudo rm-rf/var/opt/mssql
Sudo apt-get 清除 mssql 服务器 mssql-工具
自动驾驶 apt-get
自动清洗 apt-get
  1. 检查存储库中 MS SQL 的可用版本
Ijin-> apt-缓存策略 mssql 服务器

已安装的自定义 SQL MS

Sudo apt-get 清除 mssql-server = 15.0.16.8-1 mssql-tools
  1. 设置
Sudo/opt/mssql/bin/mssql-conf 设置

服务器代理的 Mem 限制

Sudo/opt/mssql/bin/mssql-conf 设置 sqlagent。启用 true
设置内存。内存限制 mb 3072 sudo/opt/mssql/bin/mssql-conf

重启,状态

Sudo 服务 mssql-服务器重启
Sudo 服务 mssql-服务器状态

可能是的交互存在一些问题Openssl打包并更新了 MS SQL,我找不到它是真的还是假的,但是在谷歌上搜索了一些关于它的注释。所以你可以用

Apt-缓存策略 openssl
安装 openssl 的 sudo apt-get =
Openssl 版本

要更改 openssl 版本并尝试连接。

第7个答案

请回复旧版本.谢谢库尔特 · 普雷斯顿

Sudo apt-get 安装 mssql-server = 14.0.3192.2-2

相关问题

SQL 偏移总行计数与 IN 子句一起变慢 查询执行非常缓慢,有任何方法可以进一步改进它吗? 错误: TCP 提供程序: 错误代码 0x2746。在 linux 下通过终端进行 Sql 设置时 UTF-8 一路通过 为什么是统计:: st _ size 0 为设备, 但同时 lseek 正确地定义了设备大小?