突然间,SQL 端口 1433 连接无法建立,但仅在某些服务器上。所有服务器(数十台)过去都运行良好,所以这就像打地鼠游戏一样。我控制着包括防火墙在内的所有公司基础设施,并且没有进行任何更改。只有对前端应用程序服务器的更改才是关键的 Windows 操作系统更新。这是场景:
前端:HQ 位置的 2012R2 物理主机上的服务器 2012R2 Hyper-V VM。10.0.xx 子网上的“HQ”网络区域。
后端:在数据中心的不同 2012R2 物理主机上服务器 2012R2 VM。内部网络区域 192.168.xx SQL 2016 SP2 13.0.5081
所有这些基础设施直到最近 3 个月左右才出现问题。我在一个案例中发现,在发布关键的 Windows 操作系统安全补丁后,从 DMZ 外围网络应用程序服务器到“内部”后端 SQL 服务器的 IIS 连接破坏了网站并返回了基本的 http 500 错误。卸载更新后,它起作用了。此特定服务器的修复是将 ODBC SQL 驱动程序更新到 17.3.1。Windows 补丁之后不再中断此连接,并且更新了网站代码中的数据源连接字符串。
卸载 Windows 补丁或更新 ODBC 驱动程序并不能修复这台有问题的服务器。我可以使用 powershell TNC cmdlet 连接到后端 SQL 服务器上的其他端口,例如 SSL 443,但不能连接到 SQL 端口 1433。同一子网和区域中的其他 VM 可以毫无问题地连接。同一 VM 主机上的其他 VM 可以连接。我相信它与这个虚拟机和这个关键端口是隔离的。
我已验证本地操作系统防火墙仍处于关闭状态。我再次打开/关闭它。我使用 powershell 创建了入站和出站防火墙规则。正如我提到的,更新 SQL ODBC 驱动程序并没有解决这个问题。我认为 Windows 更新可能改变了一些东西,即使在卸载它之后,改变仍然存在?我不知道...这非常难以捉摸,希望一组新的超级用户眼睛会有所帮助。
谢谢!