无法连接到虚拟机外部的 SQL Server 2012 Express 实例

无法连接到虚拟机外部的 SQL Server 2012 Express 实例

我正在尝试使用 Sql Server Management Studio 从我的 VM 连接到位于主机中的 SqlServer 实例。

从我的主机,我可以使用 SSMS 连接到两个 SQL 实例,但是当我尝试从 VM 连接到主机实例时,SMSS 显示此错误消息(我的在 PT-BR 中):

在此处输入图片描述

我的环境是这样的:蓝色虚线块代表我的主机(PC_MASTER),橙色虚线块代表我的虚拟机(MYVM):

在此处输入图片描述

以下是每台机器的主要部件:

PC-MASTER (主机):Windows 8 PRO-English,带 SQL Server 2012 Express。SQL 实例名称为“电脑大师\ SQLEXPRESS“。

我的虚拟机(VM):Windows Server 2012 BR-Portuguese 带 SQL Server 2012 Standard。SQL 实例名称为“马来西亚虚拟货币“。

防火墙:主机有一个入站规则,为所有程序/服务打开 1433/1434 TCP 端口;

SQL 协议:两台服务器均开启了 3 个主要协议,顺序如下:共享内存、TCP/IP 和命名管道;

远程访问:两个 SQL 服务器都配置为允许远程连接;

SQL 配置:正如 Somantra 指出的那样,主机 SQL 配置为仅允许通过端口 1433 进行静态访问。

从我的虚拟机(MYVM):

  • 我只能连接到本地 SQL 实例。
  • 我可以使用主机的 IP 或名称成功 ping 主机;
  • 我无法使用 telnet 连接到主机:我尝试了端口 21、23、80、1433 和 1434。

谢谢!

答案1

所以我花了几分钟查看了这个问题的所有重复项,然后有一些但老实说,他们的答案都很烂,所以我们开始吧:

端口 1433 仅适用于 SQL Server 的默认实例。如果要连接到命名实例,则有两个选项:

  1. 使用SERVER\INSTANCE名称并打开端口 1434(用于 SQL 浏览器)以及 SQL Server 实例的端口(稍后会详细介绍)
  2. 使用SQL Server 实例的SERVER:port端口port

要在 SQL Server 配置管理器中的网络配置 > TCP/IP > IP 地址下确定 SQL Server 实例在哪个端口上运行:

在此处输入图片描述

因此对于 #1,我需要打开 1434 和 64670,而对于 #2,我只需要打开 64670,但使用不同的 SQL 连接字符串。

相关内容