我的计算机上正在运行 SQL Server 2019 的开发人员版本。在虚拟机中,我有一个连接到本地主机专用虚拟网络的 Linux 服务器。我可以在两台计算机之间来回 ping,这样它们就可以互相通信。我在 SQL Server 中启用了 TCP 连接。我在 Linux 计算机上安装了 mssql-tools。我还配置了 Windows 防火墙以允许 TCP 通过端口 1433。如果我在 Windows 计算机上运行 nmap,端口 1433 会显示在列表中,但如果我在针对 Windows 主机的 Linux 计算机上运行 nmap,则唯一显示的是端口 80。如果我从 Linux 计算机 curl 到 Windows 计算机,我会从我安装的本地 IIS 服务器收到网页。
当我尝试使用适当的地址、凭据等从 Linux 机器运行 sqlcmd 时,我收到连接超时。但是,如果我在 Windows 主机上运行 wireshark,我确实会看到请求通过虚拟网络连接进入 Windows 机器。SQL 服务器没有给出任何答复。
调整 TCP 设置后,我重新启动了 SQL 服务器,但在我看来,它可能仍然没有监听适当的端口,或者只是还没有启动服务?
有任何故障排除技巧可以继续尝试解决这个问题吗?
netstat -a 显示TCP 0.0.0.0:1433 DESKTOP-IGUCNS1:0 LISTENING
在 Windows 框中。我还尝试关闭 Windows 机器上的防火墙,但情况没有任何改善。
答案1
好吧,没关系。重启机器终于成功了。如果其他方法都失败了,就把它踢掉。