Linux版MSSQL 2017能否像Windows端那样配置动态端口?
Linux下MSSQL 2017启用动态端口的配置方法
直接给结论:Linux版本的MSSQL 2017没有Windows上的Server Configuration Manager图形化配置工具,得靠修改配置文件+命令行的方式来启用动态端口,具体操作步骤如下:
先停止SQL Server服务,避免修改配置时出现冲突:
sudo systemctl stop mssql-server编辑MSSQL的核心配置文件
mssql.conf,路径固定为/var/opt/mssql/mssql.conf,可以用你顺手的文本编辑器,比如nano:sudo nano /var/opt/mssql/mssql.conf在配置文件里找到(或者新增)
[network]区块,配置动态端口相关参数:[network] # 清空或注释掉静态端口配置,确保动态端口设置能生效 tcp.port = # 指定动态端口的范围,SQL Server会自动从这个范围里挑选可用端口 tcp.dynamic_port = 1024-65535要是不想限制端口范围,也可以只给
tcp.dynamic_port设一个值,但这样就和静态端口没区别了——真正的动态分配建议指定一个合理的范围,让SQL自行选择。保存配置文件后,重新启动SQL Server服务:
sudo systemctl start mssql-server验证动态端口是否生效:
可以用ss命令查看当前监听的端口:ss -tulpn | grep mssql或者直接查看SQL Server的错误日志,里面会明确记录当前使用的动态端口:
cat /var/opt/mssql/log/errorlog | grep "Server is listening on"日志里会出现类似
Server is listening on [ 'any' <ipv6> 54321 ]的内容,其中54321就是系统动态分配的端口。
需要注意:如果之前配置过静态端口,一定要确保tcp.port的配置被清空或注释,否则动态端口的设置不会生效哦。
内容的提问来源于stack exchange,提问作者Evghen Tester
相关产品推荐
相关产品推荐

