访问虚拟机中的SQL Server实例

Ben*_*dee 2 macos sql-server-2008 windows-7 vmware-fusion pymssql

首先,我的设置:

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

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

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

小智 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.不要设置网关地址,因为您不希望沿此路径路由
  • 在Windows IP的Mac/etc/hosts文件中创建一个条目,例如"192.168.23.100 mywinsys.local"
  • 在mac /的Windows/windows/system32/drivers/etc/hosts文件中创建一个条目,例如"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进程