2009-09-01 54 views
3

2008 Express的,我有以下配置:无法连接到SQL Server的虚拟PC机

  • 主机Windows Vista家庭高级版SP2与SQL Server 2008 Express的SP1和SQL Server Management Studio中。
  • 虚拟PC 2007机Windows Vista旗舰版,Visual Studio 2008速成和Visual Studio 2010测试版1

与主机上,然后再安装Vista SP2和SQL服务器SP1我可以连接到SP1来自虚拟机的Visual Studio 2008和2010中的SQLEXPRESS实例。我现在不可以。

该实例被配置为允许远程连接。物理和虚拟两台机器都可以在网络上看到对方并响应ping。 SQL Server Browser服务正在运行,并且在SQL Server配置管理器中启用了所有协议。

我试图重新安装SQL Server,但仍然无法连接。在VS服务器名称下拉列表现在,我只能看到计算机名我曾经看到MACHINENAME \ SQLEXPRESS,当我尝试连接我得到的消息:

network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified)

我不知道我错过了什么。有没有人遇到过这个问题?

编辑:

肯定地说,我认为这更多的是与网络相关的问题。我查看了主机SO上的防火墙。 SQL Server Browser服务不接收任何连接。正如防火墙报告的,连接允许和拒绝都是0。该服务正在侦听UDP端口1434.

我也尝试访问主机的IIS上的Web应用程序并得不到响应。但是,我可以从虚拟机访问Internet。

非常感谢

+0

您是否检查过客人或主机上的防火墙是否阻止了连接?我会断开与互联网的连接,然后暂时关闭防火墙以确保安全。 – 2009-09-01 17:02:55

+0

是的,恩里克,我忘了提。我试图禁用两者,但没有任何区别。现在我再次启用它们。当VS尝试连接到数据库时,只有SQL Server Browser Service被访问,并且它具有启用输入/输出权限。我也尝试Wireshark来查看数据包,但我有点迷路了...... – fergroops 2009-09-01 17:39:48

回答

0

当你重新安装,你先卸载SQL然后重新安装?可能是在这个过程中,您卸载了命名实例(MACHINE_NAME \ SQLEXPRESS)(在Windows服务中被视为SQL Server(SQLEXPRESS))&安装了一个默认实例(MACHINE_NAME)(在Windows服务中称为MSSQLSERVER)。

另外我观察到,如果安装了SQL Express的默认实例&,那么在其上运行SQL Service Pack安装程序,Service Pack安装程序将安装命名实例(如果不小心),而不是升级默认实例。

+0

实际上,Vista SP2让我的机器无法启动,不得不从恢复分区恢复整个系统,恢复到干净的Vista SP1(无SQL服务器)。然后,我安装了Vista SP2,然后安装了SQL Server 2008 Express,然后安装了Management Studio,然后安装了Windows Update中的SQL Server 2008 SP1。 在服务窗口中,我只能看到“SQL Server(SQLEXPRESS)”。当从SQL Server Management Studio本地连接时,我在VPC上看到正确的实例MACHINE_NAME \ SQLEXPRESS,但只看到MACHINE_NAME。 – fergroops 2009-09-01 17:59:18

2

我终于找到了我失踪的东西。我进入了网络共享中心,并将我的网络配置为公共而非私人。我在主机和虚拟机上都做了它,现在通信又回来了。我不确定为什么这会起作用,因为公共网络配置应该是更严格的。

谢谢大家的建议。

Regards