远程连接到在 Google Cloud 虚拟机上运行的 SQL Server 的秘诀是什么?

nic*_*omp 6 sql-server google-cloud-platform

我有一个运行 Windows Server 2016 Datacenter 并安装了 SQL Server 2017 的 Google Cloud VM。

我在本地和远程使用 SSMS 2017 作为我的客户端。

我可以 RDP 到 VM。

我可以 ping 虚拟机的 IP。

禁用了 VM 上的防火墙。

我将数据库设置为允许 SQL Server 身份验证。

SQLBrowser 服务正在服务器中运行。

Google Dashboard 上有防火墙设置,我在项目上打开了端口 1433、1434 TCP 和 UDP,没有任何改变。

我可以使用在 VM 上本地运行的相同客户端使用相同的凭据连接到 SQL Server 实例。

当我运行 PortQry 时,它告诉我端口 1434 和 1433 已过滤,即使防火墙已禁用。这让我很困惑,也许我不理解 PortQry 的输出。

在此处输入图片说明

当我使用服务器\实例远程连接时出现此错误: 在此处输入图片说明

如果我只使用服务器名称,则会出现此错误: 在此处输入图片说明

这是防火墙设置:

在此处输入图片说明

ada*_*ces 3

我遇到了同样的问题,我通过以下 GCP 防火墙规则的设置克服了这一问题。

无需在 GCP VM 实例中禁用防火墙,最好保持开启状态。要在 GCP 虚拟机的外部 IP 地址内使用 SQL Server Management Studio 访问您的实例,您还需要将其添加到 GCP 网络防火墙规则中。

名称、类型、目标、过滤器、端口、操作、优先级、网络

规则名称1,入口,应用于全部,IP 范围:此处的 gcp 外部 IP,全部,允许,900,默认(对于 GCP 虚拟机外部 IP 地址)

规则名称2,入口,应用于全部,IP范围:此处为您的远程IP,tcp:1433,允许,900,默认(对于远程服务器或开发服务器IP地址)

根本不需要允许 Edge 遍历。

希望这会对某人有所帮助。