关于macos:在虚拟机中访问SQL Server实例

Access SQL Server instance in Virtual Machine

首先,我的设置:

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

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

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


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

  • 为虚拟机创建一个附加的网络适配器,并将其设置为
    "专用于我的Mac \\"。 Windows将使用在VM设置期间创建的默认网络适配器来访问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/zh-CN/library/hh231672(v=sql.110).aspx

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

连接到Mac进程