访问虚拟机中的SQL Server实例

时间:2013-01-31 19:39:34

标签: macos sql-server-2008 windows-7 pymssql vmware-fusion

首先,我的设置:

  • Mac OSX 10.8
  • 在VM中运行的Windows 7(VMWare Fusion)
  • 在VM中运行的SQL Server 2008 R2
  • Python脚本的大量加载+我在Mac端的高度自定义的Python安装。

我希望能够在我的笔记本电脑上本地运行脚本,对照我的开发数据库的快照,该数据库很快存在于我的VM中。我也希望没有在Windows VM中重建我的Python安装的PITA。

所以问题是:如何从Mac端访问我的VM中运行的SQL Server实例?要访问生产数据,我使用的是基于FreeTDS的pymssql。

1 个答案:

答案 0 :(得分:5)

我正在运行此配置,如下所示:

  • 为VM创建其他网络适配器并将其设置为 “私有我的Mac”。在VM设置期间创建的默认网络适配器将被Windows用于访问连接Mac的网络(Internet等),您创建的这个新网络将用于Mac和VM主机之间的通信
  • 可以使用ifconfig识别虚拟网络上的Mac IP。在我的例子中,它被命名为vmnet1,IP 192.168.23.1
  • 默认情况下,Windows VM IP将动态分配。您应该进入Windows中的网络设置并设置与Mac IP位于同一网络上的静态IP。在我的例子中,Fusion创建的Windows网络适配器名为Ethernet1。我将其设置为192.168.23.100/255.255.255.0。不要设置网关地址,因为您不希望沿此路径路由
  • 在Mac / etc / hosts文件中为Windows IP创建一个条目,例如: “192.168.23.100 mywinsys.local”
  • 在Windows / windows / system32 / drivers / etc / hosts文件中为mac IP创建一个条目,例如: “192.168.23.1 mymacsys.local”
  • 请务必关闭Windows防火墙或以其他方式打开必要的端口
  • 确保将SQL Server配置为接受IP连接 https://technet.microsoft.com/en-us/library/hh231672(v=sql.110).aspx

在mac上运行的进程可以使用mywinsys.local连接到Windows进程。在Windows上运行的进程可以使用mymacsys.local连接到Mac进程