温馨提示×

如何配置CentOS SQL Server网络连接

小樊
35
2025-12-13 21:23:10
栏目: 云计算

CentOS 上配置 SQL Server 网络连接的实用步骤


一 基础网络与防火墙

  • 为服务器配置静态 IP,避免地址变化导致客户端无法稳定访问。示例(按实际网卡名调整,如 eth0):
    • 编辑配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
    • 关键参数:
      • BOOTPROTO=static
      • IPADDR=192.168.1.100
      • NETMASK=255.255.255.0
      • GATEWAY=192.168.1.1
      • DNS1=8.8.8.8
      • ONBOOT=yes
    • 使配置生效:sudo systemctl restart network(或使用 nmcli/ifdown&ifup)。完成后用 ip addrping 验证连通性。
  • 放行数据库端口(默认 TCP 1433;如启用命名实例与 SQL Browser,再放行 UDP 1434):
    • 开放端口:sudo firewall-cmd --permanent --zone=public --add-port=1433/tcp
    • 命名实例可选:sudo firewall-cmd --permanent --zone=public --add-port=1434/udp
    • 重载规则:sudo firewall-cmd --reload
  • 如启用 SELinux,需允许 SQL Server 网络访问(测试时可临时:sudo setenforce 0;生产环境建议配置正确的 SELinux 策略而非长期关闭)。

二 启用并配置 SQL Server 监听

  • 启用 TCP/IP 与端口(两种等效方式,二选一或结合使用):
    • 方式 A(mssql-conf,推荐):
      • 编辑配置文件:sudo nano /var/opt/mssql/mssql.conf
      • 启用网络与端口:
        • [network] tcpip = true
        • [tcpip] port = 1433
      • 如需命名实例可被发现,启用 SQL Browser
        • [browser] enable = true
      • 重启服务:sudo systemctl restart mssql-server
    • 方式 B(T-SQL,动态端口改为固定端口):
      • 本地连接后执行:
        • exec sp_configure ‘tcp dynamic ports’, ‘’
        • exec sp_configure ‘tcp port’, 1433
        • RECONFIGURE
      • 重启服务:sudo systemctl restart mssql-server
  • 说明:
    • 默认实例通常使用 1433/TCP;命名实例在不使用 Browser 的情况下,客户端需显式指定端口(如 192.168.1.100,1433)。

三 远程连接与验证

  • 本地连通性测试(服务器本机):
    • 命令:sqlcmd -S localhost -U SA -P ‘YourPassword’
  • 局域网/远程测试(另一台机器):
    • 命令:sqlcmd -S <服务器IP或主机名> -U <用户名> -P <密码>
    • 如为命名实例且未启用 Browser,使用:sqlcmd -S ,<端口> -U <用户名> -P <密码>
  • 连接失败快速排查清单:
    • 服务器与客户端网络可达(同一网段/路由正确)。
    • 服务器防火墙已放行 1433/TCP(命名实例按需放行 1434/UDP)。
    • SQL Server 已启用 TCP/IP 并在 1433 监听(或客户端指定了正确端口)。
    • 认证信息正确,且目标数据库对登录用户授权。必要时在 SSMS 或客户端工具中勾选“信任服务器证书”(自签名证书场景)。

四 常见场景与建议

  • 固定服务器地址:为数据库服务器配置静态 IP,便于客户端与防火墙策略长期稳定。
  • 命名实例与端口:若不想依赖 SQL Browser,在客户端连接字符串中显式指定端口(例如 ,1433)。
  • 安全建议:仅开放必要端口;避免使用 SA 账户远程登录,创建最小权限的专用登录;生产环境保持 SELinux 开启并配置合规策略。

0