近两年来,我在本地 Windows 10(以前是 8.1)计算机上安装了 Hyper-V 虚拟机,该虚拟机运行 IIS 并连接到我的生产 SQL Server(Hyper-V VM 是一台开发计算机)。我决定将服务器移至本地(同一网络)Windows Server 2012 计算机上的 Hyper-V。以下是我所做的:
我将虚拟硬盘复制到服务器并在该服务器上重新创建了计算机 - 这是一台新服务器,这是其上的第一台虚拟机。我启动了虚拟机并使用我的开发站点设置了 IIS。它无法连接到位于 Amazon AWS 上的 SQL 服务器。如果我将文件复制到主机服务器(而不是它托管的虚拟服务器)上的基本 IIS 安装,它可以很好地连接到 SQL。
我尝试在虚拟服务器和主机服务器上完全禁用防火墙。没有成功。虚拟机上确实有互联网连接。我还与 AWS 核实过,以确保它没有阻止虚拟服务器的 IP,结果确实没有 - 我这里的本地网络只有一个 IP 地址,而且两者的显示方式相同(我已核实)。
因此,我的理论是,Windows 10(可以工作)和 Windows Server 2012 R2(不能工作)中虚拟交换机的设置方式存在某种网络差异。我尝试弄乱虚拟网络适配器 ACL 以允许来自任何地方的任何内容,但如果这就是我需要做的,那么我一定是做错了。
我真的被这个问题搞糊涂了。这看起来应该很简单,但事实并非如此。
答案1
我简直不敢相信,但显然就在我复制这台虚拟机之前,有人提交了带有错误 SQL Server 地址的代码。我没有意识到提交的代码已经进入了那台机器。所以这是我自己愚蠢的错误,没有足够注意。