SQL VM 和主机之间的链接服务器配置
SQL Linked server configuration between VM and Host
我正在尝试在两台 SQL 服务器之间设置一个 link,一台在我的笔记本电脑上,第二台 运行 在同一台笔记本电脑的虚拟机上。但是我遇到了一些令人沮丧的行为。
设置为:
主机:W10 x64 企业版,SQL Server 2019,开发人员。 Windows防火墙关闭
VM:W7 Pro x64,SQL Server 2014,Express。 Windows 防火墙关闭
使用此设置我可以:
- 从主机 Ping 虚拟机
- 从虚拟机 Ping 主机
- 从主机,使用 SQL management studio 连接到 VM 上的 SQL 实例
- 从 VM,使用 SQL management studio 连接到主机上的 SQL 实例
- 从主机创建到 VM 的链接服务器(使用新建链接服务器...向导)
但我不能做的是从 VM 使用相同的 linked 服务器向导创建到主机的链接服务器。发生的事情是我在登录过程中收到超时错误。
我使用的凭据与通过管理工作室连接时使用的凭据相同。我已尝试将 linked 服务器创建为 "SQL Server" 和 "Other data source"(使用 SQLNCLI 提供程序),但两种方法均无效。
可能导致此超时的原因:
难道是:
不同的SQL版本?
Express 和 Developer 版本的区别? (我知道我可以在 2 个不同的 Express 2012 实例之间创建服务器 links)
我完全缺少的东西?
原来是“3.我完全没有的东西”
一些背景知识。为了 support/test 我办公桌上的各种网络模型,我所有计算机的硬件以太网端口都配置为响应两个不同的子网:192.168。0.xxx(用作 5 台不同计算机之间的主要传输) 和 192.168.100.xxx(用于测试各种联网硬件)。
在我的问题中描述的设置中,我有以下 IP 地址:
Host: Primary: 192.168.0.99 Secondary: 192.168.100.80
VM: Primary: 192.168.100.78
因为 VM 只需要与 192.168.100 子网上的主机通信,所以我只给了它一个(主)IP 地址。这提供了足够的网络连接,我可以执行问题中提到的所有任务(并在链接服务器任务上失败)
事实证明,解决方案只是更改 VM 的主要和次要 IP 地址,以便它们位于为主机的主要和次要 IP 地址配置的匹配子网上。例如:
Host: Primary: 192.168.0.99 Secondary: 192.168.100.80
VM: Primary: 192.168.0.49 Secondary: 192.168.100.78
因此我给了虚拟机一个它并不真正需要的 IP 地址。完成此操作后,我可以立即创建一个从 VM 到主机的链接服务器。
主从地址匹配子网的要求似乎是 Windows 网络与 SQL 服务器相结合的产物。我在尝试使用另一个 Windows 10 盒进行测试时发现了它,并且出现了与我最初对 VM 相同的症状。
我正在尝试在两台 SQL 服务器之间设置一个 link,一台在我的笔记本电脑上,第二台 运行 在同一台笔记本电脑的虚拟机上。但是我遇到了一些令人沮丧的行为。
设置为:
主机:W10 x64 企业版,SQL Server 2019,开发人员。 Windows防火墙关闭
VM:W7 Pro x64,SQL Server 2014,Express。 Windows 防火墙关闭
使用此设置我可以:
- 从主机 Ping 虚拟机
- 从虚拟机 Ping 主机
- 从主机,使用 SQL management studio 连接到 VM 上的 SQL 实例
- 从 VM,使用 SQL management studio 连接到主机上的 SQL 实例
- 从主机创建到 VM 的链接服务器(使用新建链接服务器...向导)
但我不能做的是从 VM 使用相同的 linked 服务器向导创建到主机的链接服务器。发生的事情是我在登录过程中收到超时错误。
我使用的凭据与通过管理工作室连接时使用的凭据相同。我已尝试将 linked 服务器创建为 "SQL Server" 和 "Other data source"(使用 SQLNCLI 提供程序),但两种方法均无效。
可能导致此超时的原因:
难道是:
不同的SQL版本?
Express 和 Developer 版本的区别? (我知道我可以在 2 个不同的 Express 2012 实例之间创建服务器 links)
我完全缺少的东西?
原来是“3.我完全没有的东西”
一些背景知识。为了 support/test 我办公桌上的各种网络模型,我所有计算机的硬件以太网端口都配置为响应两个不同的子网:192.168。0.xxx(用作 5 台不同计算机之间的主要传输) 和 192.168.100.xxx(用于测试各种联网硬件)。
在我的问题中描述的设置中,我有以下 IP 地址:
Host: Primary: 192.168.0.99 Secondary: 192.168.100.80
VM: Primary: 192.168.100.78
因为 VM 只需要与 192.168.100 子网上的主机通信,所以我只给了它一个(主)IP 地址。这提供了足够的网络连接,我可以执行问题中提到的所有任务(并在链接服务器任务上失败)
事实证明,解决方案只是更改 VM 的主要和次要 IP 地址,以便它们位于为主机的主要和次要 IP 地址配置的匹配子网上。例如:
Host: Primary: 192.168.0.99 Secondary: 192.168.100.80
VM: Primary: 192.168.0.49 Secondary: 192.168.100.78
因此我给了虚拟机一个它并不真正需要的 IP 地址。完成此操作后,我可以立即创建一个从 VM 到主机的链接服务器。
主从地址匹配子网的要求似乎是 Windows 网络与 SQL 服务器相结合的产物。我在尝试使用另一个 Windows 10 盒进行测试时发现了它,并且出现了与我最初对 VM 相同的症状。