![尝试通过本地网络连接到 SQL Server](https://linux22.com/image/760137/%E5%B0%9D%E8%AF%95%E9%80%9A%E8%BF%87%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%E8%BF%9E%E6%8E%A5%E5%88%B0%20SQL%20Server.png)
我的计算机上正在运行 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
好吧,没关系。重启机器终于成功了。如果其他方法都失败了,就把它踢掉。