【发布时间】:2009-09-01 16:51:58
【问题描述】:
我有以下配置:
- 带有 SQL Server 2008 Express SP1 和 SQL Server Management Studio 的主机 Windows Vista Home Premium SP2。
- 一台装有 Windows Vista Ultimate、Visual Studio 2008 Express 和 Visual Studio 2010 Beta 1 的 Virtual PC 2007 机器。
在主机上使用 SP1 并且在安装 Vista SP2 和 SQL Server SP1 之前,我可以从虚拟机从 Visual Studio 2008 和 2010 连接到 SQLEXPRESS 实例。现在我不能了。
实例配置为允许远程连接。物理机和虚拟机都可以在网上互相看到并响应 ping。 SQL Server Browser 服务正在运行,并且在 SQL Server 配置管理器中启用了所有协议。
我尝试重新安装 SQL Server,但仍然无法连接。现在,在 VS 的服务器名称下拉列表中,我只能看到 MACHINENAME,我曾经在哪里看到 MACHINENAME\SQLEXPRESS,当我尝试连接时,我收到消息:
在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
我不知道我错过了什么。有人遇到过这个问题吗?
编辑:
当然,我认为这更多是与网络相关的问题。我检查了主机 SO 上的防火墙。 SQL Server Browser 服务不接收任何连接。防火墙报告的连接中允许和拒绝都是 0。该服务正在正确侦听 UDP 端口 1434。
我还尝试访问主机 IIS 上的 Web 应用程序,但没有得到响应。但是我可以从虚拟机访问互联网。
非常感谢
【问题讨论】:
-
您是否检查过来宾或主机上的任何防火墙都没有阻止连接?我会在物理上断开与 Internet 的连接,然后短暂关闭防火墙以确保安全。
-
是的,Enric,我忘了提。我试图禁用两者但没有任何区别。现在我再次启用它们。当 VS 尝试连接数据库时,仅访问 SQL Server Browser 服务并启用了输入/输出权限。我也试过 Wireshark 来查看数据包,但我有点迷路了......
标签: visual-studio-2008 sql-server-2008 virtual-pc