我正在尝试使用 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 的默认实例。如果要连接到命名实例,则有两个选项:
- 使用
SERVER\INSTANCE
名称并打开端口 1434(用于 SQL 浏览器)以及 SQL Server 实例的端口(稍后会详细介绍) - 使用SQL Server 实例的
SERVER:port
端口port
要在 SQL Server 配置管理器中的网络配置 > TCP/IP > IP 地址下确定 SQL Server 实例在哪个端口上运行:
因此对于 #1,我需要打开 1434 和 64670,而对于 #2,我只需要打开 64670,但使用不同的 SQL 连接字符串。