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

时间:2018-02-23 20:58:38

标签: sql-server google-cloud-platform

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

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

我可以RDP到VM。

我可以ping VM的IP。

已禁用 VM上的防火墙。

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

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

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

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

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

enter image description here

当我使用server \ instance远程连接时出现此错误: enter image description here

如果我只是使用服务器名称,我会收到此错误: enter image description here

以下是防火墙设置:

enter image description here

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并且通过遵循以下GCP防火墙规则进行了以下设置来克服。

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

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

rulename1,入口,适用于所有IP地址范围:此处为gcp外部IP,所有,允许,默认为900(对于GCP VM外部IP地址)

rulename2,入口,应用于所有IP范围:此处的远程IP,tcp:1433,允许,900,默认(对于远程服务器或开发服务器IP地址)

根本不需要允许Edge遍历。

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

答案 1 :(得分:0)

我也有同样的问题。 您应该在防火墙规则设置中使用与VM计算机相同的网络标签。 Your VM machine tags Firewall rules 之前,我将目标设置为“全部应用” ,但此方法无效。 有点尴尬!