强制 SQL Server 2019/Ubunti 使用 ipv4 而不是 ipv6

强制 SQL Server 2019/Ubunti 使用 ipv4 而不是 ipv6

我们正在为内部产品测试 Linux 服务器上 Microsoft SQL Server 的可用性,在配置过程中遇到了问题。我们正在尝试设置和配置 SQLServer 2019(预览版),并设法设置了存储库并从中安装了 SQL Server 二进制文件。但是,当我们运行sudo /opt/mssql/bin/mssql-conf setup并选择版本时,它会停滞一段时间并出现错误。日志显示:

2019-05-21 14:07:57.08 spid22s     Error: 26024, Severity: 16, State: 1.
2019-05-21 14:07:57.08 spid22s     Server failed to listen on 'any' <ipv6> 1433. Error: 0x2742. To proceed, notify your system administrator.
2019-05-21 14:07:57.08 spid22s     Error: 17182, Severity: 16, State: 1.
2019-05-21 14:07:57.08 spid22s     TDSSNIClient initialization failed with error 0x2742, status code 0xa. Reason: Unable to initialize the TCP/IP listener. A socket operation encountered a dead network. 

罪魁祸首很明显,安装程序尝试在 上启动服务器<ipv6>,出于与此无关的原因,我们已在生产环境中禁用了该功能。我们需要在 上安装和运行 SQL Server <ipv4>,我似乎没有看到任何使用 来更改这一点的方法mssql-config,如mssql-config 说明

有人有这样的设置经验吗?

答案1

好的,在环境变量中找到了解决方案。只需使用

sudo MSSQL_IP_ADDRESS=0.0.0.0 /opt/mssql/bin/mssql-conf setup

这还将强制配置在重启后绑定any <ipv4>。由于此行为似乎没有记录,我将留在这里以供后人参考。

答案2

sudo /opt/mssql/bin/mssql-conf 设置网络.ip地址 0.0.0.0

也有效

答案3

/opt/mssql/bin/mssql-conf set network.ipaddress 0.0.0.0

systemctl restart mssql-server

效果很好!!

相关内容