连接到在 Parallels 虚拟机中运行的 SQLServer

17

我正在使用Parallels在OSX上运行Windows 7虚拟机,该虚拟机中有一个SQL Server的实例。我非常希望能够从我的主机(OSX)连接到该实例。我想要利用本地的RoR环境,并将SQL Server作为后端。

我无法让虚拟机响应来自Mac的任何请求,也不知道从哪里开始故障排除过程。

有人能提供任何见解或有用的资源吗?

谢谢!

3个回答

14
Bobby,如果你想从你的Mac OSX连接到在Parallels虚拟机上安装的SQL Server,你需要完成3件事:
1) 在你的SQL Server上启用远程连接。 Microsoft SQL Server 2005 -> 配置工具 -> SQL Server Surface Area Configuration -> Services and Connections的表面区域配置 -> 数据库引擎 -> 远程连接 -> 本地和远程连接 -> 启用TCP/IP -> 应用
2) 启动SQL Server浏览器服务(SQL Server Express和开发版默认关闭此服务) Microsoft SQL Server 2005 -> 配置工具 -> SQL Server Configuration Manager -> 启动SQL Server浏览器服务。
3) 配置防火墙以允许网络流量。 你可以按程序进行配置,或者我只是在防火墙例外中打开了一个端口(默认为SQL Server 2005的1433)。
例如,我的jTDS连接字符串看起来像这样:
jdbc:jtds:sqlserver://10.211.55.7:1433;DatabaseName=master

(其中主机当然是您的虚拟机的IP地址)


对于2014,您必须按照以下方式配置远程访问:https://msdn.microsoft.com/zh-cn/library/ms191464.aspx - rstackhouse
1
我还必须在SQL Server配置管理器中启用TCP/IP,详见此处:http://kb.sp.parallels.com/en/118540。 - rstackhouse

3
由于无法发表评论,我现在发布一个新的答案。
对我来说,除了 Pavel 和 Ed 提供的有用建议之外,我还需要在 Windows 虚拟机中设置一个额外的适配器作为 Host-only 适配器。然后,在虚拟机中为该适配器分配一个静态 IP,并在我的连接字符串中使用该 IP。
更多详细信息请参见此处,这帮助我使我的配置正常工作。
这是最相关的部分:
1.首先,在 Parallels 中定义另一个网络适配器。该网络适配器将具有静态 IP,并且仅允许来自主机(即 OS X)的连接。此时不能运行 Parallels。
在 Parallels 的虚拟机菜单中选择 Configure… 选择 Hardware 标签 将新的网络适配器添加到左侧列表中 从 Type 下拉菜单中选择 Host-Only Networking,并确保 Connected 已选中 记下 MAC 地址 按 OK
2.接下来,我们需要为新的网络适配器设置静态 IP。
启动 Parallels,在我的情况下是 Windows XP(其他版本的 Windows 应该类似) 转到控制面板中的 Network Connections 新的 LAN 连接将在列表中,如果您不确定哪个是新的(它应该具有最高的编号),则可以通过检查状态来比较 MAC 地址 为正确的 LAN 连接带出属性面板并转到 Internet Protocol(TCP/IP)属性 输入静态 IP 10.37.129.10(这是 Parallels 保留用于 Host-Only Networking 的范围内的 IP),并将子网掩码设置为 255.255.255.0。将网关留空。
3.按 OK 保存更改。

请引用所提供链接中最相关的部分,以便人们在链接失效时仍能在这里找到答案。http://stackoverflow.com/help/how-to-answer - rakhi4110
那返回了一个404错误。不过在Wayback机器上找到了:https://web.archive.org/web/20120624145825/http://craigcoded.com/2010/09/01/connect-os-x-to-sql-server-express-2008-on-parallels - rstackhouse

2
你需要确保在 SQL Server 中启用了远程连接,并打开了 Windows 防火墙上的相关端口。
所有相关步骤都列在此 MSDN 页面中(针对“Quadrant”的文档,但适用于任何安装)。

谢谢你的回答。我之前已经完成了SQL Server访问所需的步骤。我甚至在真实的服务器上成功地设置了这个。但我担心Parallels可能有一些我不知道的“防火墙式”的配置。我认为这就是我被阻止的地方。你有相关经验吗? - Bobby B
@Bobby B - 很抱歉,我没有使用Parallels的经验。你能否通过TCP/IP连接到虚拟机的除了1433端口(或者SQL Server运行的端口)之外的其他端口? - Ed Harper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接