強制 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-配置說明

有人有過這樣設定的經驗嗎?

答案1

好的,在環境變數中找到了解決方案。只需使用

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

這也將強製配置在重新啟動後綁定any <ipv4>。由於這種行為似乎沒有記錄,我將把它留在這裡供後代使用。

答案2

sudo /opt/mssql/bin/mssql-conf 設定network.ipaddress 0.0.0.0

也有效

答案3

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

systemctl restart mssql-server

效果很好!

相關內容