You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量检查Windows服务器列表的端口连通性?

解决SQL Server灾备环境防火墙规则不同步导致故障转移失败的问题

在管理多台承载数百个数据库的SQL Server服务器集群时,防火墙规则不同步是高频踩坑点——非生产环境配置的规则经常遗漏同步到生产或灾备节点,最终导致生产运行正常,但故障转移后因端口未开放触发连接失败。

一、建立规则同步的自动化校验机制

  • 定期对比生产主节点、灾备节点、非生产节点的防火墙规则,用PowerShell脚本批量导出规则后做差异校验:
    # 导出本地SQL相关入站防火墙规则到CSV
    Get-NetFirewallRule -Direction Inbound | Where-Object {$_.DisplayName -match "SQL Server"} | Export-Csv -Path "FirewallRules_SQL.csv" -NoTypeInformation
    
  • 把校验脚本加入SQL Server代理作业,每日执行并将差异结果推送至DBA团队,彻底规避人工核对的遗漏风险。

二、将防火墙规则纳入变更管理流程

  • 任何非生产环境的防火墙规则变更,必须在变更工单中明确标注需同步到生产及灾备节点,由变更审核人确认同步动作完成后再关闭工单。
  • 针对SQL Server端口变更场景,同步核查sys.dm_tcp_listener_states视图的监听端口记录,确保防火墙规则与实际监听端口完全匹配。

三、故障转移前的预检查强制环节

  • 执行手动故障转移或定期灾备演练前,必须加入端口连通性检查步骤:
    # 测试灾备节点SQL端口连通性
    Test-NetConnection -ComputerName DR-SQL01 -Port 1433
    
  • 把端口连通性检查列为故障转移预案的前置强制项,未通过检查则暂停转移操作,避免故障扩大。

四、统一规则命名规范降低核对成本

  • 所有SQL相关的防火墙规则统一采用SQL-Server-[实例名]-Port-[端口号]的命名格式,跨节点对比时能快速定位对应规则,减少误判概率。

内容的提问来源于stack exchange,提问作者ClaireCotter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:45:30