无法连接到虚拟机上托管的 SQL 服务器

Cannot connect to SQL Server hosted on Virtual Machine

我的 PC 上有一个虚拟机 运行ning 运行ning Windows Server 2008,安装了 SQL Server 2012。当我在 VM 上 运行 SQL Server Management Studio 时,我可以这样连接:

Image showing Management Studio credentials

但是,当我 运行 在虚拟机 (VMWare Player) 之外执行以下 C# 代码时,我收到一条错误消息,指出找不到服务器。

SqlConnection myConnection = new SqlConnection(@"Database=MyDB;Server=WIN-A7D3AQAEQ8C\SQLEXPRESS;Integrated Security=True;connect timeout = 7;");

错误:

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll

我可以 ping 虚拟机,反之亦然。虚拟机的防火墙已完全关闭。我做错了什么?

CodingYoshi 的 link 将提供一堆可能的罪魁祸首,我强烈怀疑(基于您可以在 VM 上连接但不能从 VM 外部连接的事实)您的 SQL 实例只有命名管道作为连接方法启用(这是默认设置)。如果您使用 SQL 服务器配置管理器并启用 TCPIP 连接,请再次尝试使用 SSMS 从另一台 PC 连接到您的实例,希望您能够。

要使用配置管理器设置 TCPIP,请参阅此处:http://support.webecs.com/kb/a868/how-do-i-configure-sql-server-express-to-allow-remote-tcp-ip-connections-on-port-1433.aspx