我在虚拟机中的 Server2008 上安装了 SQL2008(使用 Microsoft Virtual PC)。我的主机操作系统是 Win7 X64。
我已经在主机上安装了 SQL 企业管理器,但当我浏览服务器时,它虽然能看到我的 SQL 服务器,但却无法连接 - 给出错误 40,无法打开连接(如这里所述)。
我已经完成了我能想到的所有基本的事情:
- 我可以使用服务器上本地的企业管理器连接到该实例。
- 使用 TCP 和命名管道启用远程连接
- TCP 正在使用端口 1433,端口 1433 被允许通过两个防火墙(完全禁用防火墙也没有区别)
- SQL Server Browser 服务正在运行
虚拟机正在使用 Virtual PC 中的共享网络 (NAT) 连接,并且可以连接到互联网,我可以 ping 通 Google 和主机。但我的主机无法 ping 通服务器。
编辑- 我认为这是一个虚拟机网络问题,而不是 SQL 问题。
虚拟机(Win2008)能ping 主机,但主机不能对虚拟机进行 ping 操作。
这与虚拟 PC 使用的 NAT 连接有关吗?我不太了解 MS Virual PC 中的网络共享如何工作...
答案1
好的 - 就是这样曾是与我使用的 NAT 有关。如果您遇到同样的问题,以下是我的解决方案,并附带一些说明。
- 使用 NAT 意味着您的所有虚拟机将能够相互通信,但您无法与外部进行通信。
- 对于我来说,使用主机的网卡来运行虚拟 PC 是行不通的,但我认为这不允许虚拟机之间进行通信(如果我错了,请纠正我)。
- 解决方案,解决我的问题的是安装和使用 Microsoft Loopback Adapter。
所需步骤摘要:
- 在主机上安装环回适配器
- 配置环回适配器以在主机上使用静态 IP
- 如果需要互联网连接 - 允许环回适配器共享您现有的网络连接
- 将虚拟机设置为使用环回适配器,而不是 NAT 或其他网卡
- 允许虚拟机自动获取IP。