一、前置准备:安装SQL Server 在配置网络连接前,需先完成SQL Server的基础安装(以CentOS为例):
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
sudo yum install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
sudo systemctl start mssql-server
sudo systemctl enable mssql-server
二、配置网络核心参数
编辑SQL Server主配置文件(路径因发行版而异):
/var/opt/mssql/mssql.conf/etc/sqlserver/sqlserver.conf[network] section,修改或添加以下内容:[network]
tcpip = true # 启用TCP/IP协议
保存后重启服务使配置生效:
sudo systemctl restart mssql-server
若需更改默认的1433端口,可在[network] section添加tcp_port参数:
[network]
tcpip = true
tcp_port = 1433 # 自定义端口(如1434)
重启服务:
sudo systemctl restart mssql-server
如需绑定特定IP地址或配置多个端口,可编辑/var/opt/mssql/mssql.conf中的[tcpip] section:
[tcpip]
port = 1433
# 绑定特定IP(如192.168.1.100),留空则监听所有IP
ip_address = 192.168.1.100
重启服务:
sudo systemctl restart mssql-server
三、配置防火墙 允许SQL Server及Browser服务(可选)的端口通过防火墙:
# 允许TCP 1433端口(SQL Server默认端口)
sudo firewall-cmd --permanent --zone=public --add-port=1433/tcp
# 允许UDP 1434端口(SQL Server Browser服务,用于实例名称解析)
sudo firewall-cmd --permanent --zone=public --add-port=1434/udp
# 重新加载防火墙规则
sudo firewall-cmd --reload
四、可选:启用SQL Server Browser服务 若需通过实例名称(而非IP)连接,需启用Browser服务:
/var/opt/mssql/mssql.conf,添加[browser] section:[browser]
enable = true # 启用Browser服务
sudo systemctl restart mssql-server
sudo firewall-cmd --permanent --zone=public --add-port=1434/udp
sudo firewall-cmd --reload
五、验证网络连接
使用sqlcmd工具从本地或远程机器测试连接:
sqlcmd -S localhost -U SA -P 'YourStrongPassword'
sqlcmd -S 192.168.1.100,1433 -U SA -P 'YourStrongPassword'
若提示“登录成功”,则说明网络配置正确。
六、常见问题排查
systemctl status mssql-server)、防火墙是否放行端口、mssql.conf中TCP/IP是否启用。sudo setenforce 0
或创建自定义SELinux策略允许SQL Server网络访问。