从VMWare计算机访问主机SQL Server

时间:2014-01-20 12:39:46

标签: sql-server virtual-machine vmware-workstation

我的Windows 7上有SQL Server 2008和SQL Express 2012。我还在两台vmware机器上安装了win xp。我正在尽力使用管理工作室从vm机器连接到主机上的sql server,但没有运气。我甚至有问题ping主机,反之亦然。当我关闭防火墙时,我能够ping主机。我试图添加vm机器的IP以允许访问主机,但即使这样也没有用。

我已经从这里添加了自定义规则 http://www.rackspace.com/knowledge_center/article/creating-an-inbound-custom-allow-rule-for-windows-firewall-windows-2008

我正在运行热点盾,我关掉了,但仍然没有运气。我已经允许在我的SQL服务器上进行远程连接。但仍然没有工作。有人可以在这帮忙。

这是我得到的错误。

enter image description here

这是vm机器的设置。 enter image description here

当防火墙打开时,不能ping,但是当它关​​闭时可以ping通。

此致

成员Parminder

3 个答案:

答案 0 :(得分:14)

您需要配置SQL Server以侦听TCP协议。为此,请单击“开始”|所有课程| Microsoft SQL Server 2012 |配置工具和打开的SQL Server配置管理器。

  1. 在SQL Server配置管理器中,展开“SQL Server网络” 在控制台窗格中进行配置。
  2. 单击实例名称的协议。 (默认实例是 MSSQLSERVER的协议)。
  3. 在详细信息窗格中,右键单击TCP,它应该是启用的 默认情况下库图像。对于自定义图像,请单击“启用”(如果 它的状态为Disabled。)
  4. 右键单击TCP / IP并选择“属性”。
  5. 验证在IP2下,IP地址是否设置为计算机的IP 本地子网上的地址。
  6. 确保TCP动态端口为空。
  7. 确保TCP端口设置为1433。
  8. 在详细信息窗格中,右键单击SQL Server(实例名称)( 默认实例是SQL Server(MSSQLSERVER),然后单击 重新启动,停止并重新启动SQL Server实例。
  9. 然后,您需要在Windows防火墙中打开数据库引擎的默认实例的TCP端口。为此,请单击“开始”|所有课程|管理工具,并打开具有高级安全性的Windows防火墙。

    1. 在具有高级安全性的Windows防火墙的左窗格中, 右键单击“入站规则”,然后单击操作中的“新建规则” 窗格中。
    2. 在“规则类型”对话框中,选择“端口”,然后单击“下一步”
    3. 在“协议和端口”对话框中,选择“TCP”。选择特定 本地端口,然后键入该实例的端口号 数据库引擎(默认实例为1433)。单击“下一步”。
    4. 在“操作”对话框中,选择“允许连接”,然后选择“允许连接” 单击“下一步”。
    5. 在“配置文件”对话框中,选择“域”,“私有”,“公共”,然后选择 单击“下一步”。
    6. 在“名称”页面中,将“入站规则”的名称设置为SQLServerPort和 单击完成。关闭具有高级安全性的Windows防火墙窗口。
    7. 希望这有帮助。 最诚挚的问候

答案 1 :(得分:6)

关于网络错误26,这直接来自MSDN博客。Details here

1)确保您的服务器名称正确,例如名称上没有拼写错误。
2)确保您的实例名称正确,并且目标计算机上实际存在此类实例。 [更新:某些应用程序将\\转换为\如果您不确定您的应用程序,请在连接字符串中尝试Server \ Instance和Server \\ Instance]
3)确保服务器机器可以访问,例如,DNS可以正确解析,您可以ping服务器(并非总是如此)。
4)确保SQL Browser服务正在服务器上运行。
5)如果在服务器上启用了防火墙,则需要将sqlbrowser.exe和/或UDP端口1434置于异常中。

如果仍然失败,您可能想要运行PortQry。

您可以从应用herehere详细信息下载PortQry,运行“portqry.exe -n yourservername -p UDP -e 1434”。如果此命令返回信息并且它包含您的目标实例,那么您可以排除上面的可能性4)和5),这意味着您确实运行了SQL浏览器并且您的防火墙不会阻止SQL Browser UDP数据包。在这种情况下,您可以检查其他问题,例如错误的连接字符串。

答案 2 :(得分:0)

请注意,如果您正在运行SQLExpress,则在应用octavioccl的comment中的步骤之后,它仍然可能无法工作。 对我而言,解决此问题的方法是使用SQL Server Developer 2019替换我的SQLExpress 2019,应用提到的SQL网络配置和防火墙设置,然后我终于能够仅通过使用主机名,没有IP和端口来连接到主机的SQL Server。< / p>