我们正在为内部产品测试 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
效果很好!!