穿过主机访问虚拟机中的SQL服务 FOR VMware NAT-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

穿过主机访问虚拟机中的SQL服务 FOR VMware NAT

简介:

 一般来说,大家都会在主机或者虚拟机中安装SQL+IIS,但假如主机的IIS想利用虚拟机中的SQL服务怎么办呢?

  以我的电脑为例子,主机系统:Windows 7 7600 RTM X64,安装IIS 7.5。虚拟机系统:Windows 2003 企业版,安装IIS 6.0和SQL server 2000。在win7下实在不想安装SQL 2000,现在以主机的IIS连接上虚拟机的SQL。

  SQL默认端口为1433,但为了提高安全性,会更改此端口号。我们以默认的来说吧。

  此教程前提是SQL已经新建一数据库为my_sw,用户为sa,密码为空。

虚拟机的网络基于NAT,Bridged的教程迟一点奉上。

一、首先确定虚拟机中的1433端口是否打开

  在命令提示符下输入:telnet 127.0.0.1 1433

2010042217340683.png

  如果1433端口已经打开,显示如图:

2010042217341626.png

  黑屏是正常的,证明可以连接上1433接口。

二、虚拟机1433映射到主机1433端口。

  此步骤可以参考《一起来穿越吧,穿过主机访问虚拟机中的网站系列教程(VMware篇)》,修改NAT端口映射。

2010042217342935.png

  虽然说这儿的确是映射了,但有点不放心。我们首先确认一下主机的1433是不是在监听中。

  在命令提示符下输入netstat -na,假如你看到下图,可以确定映射成功。

2010042223203819.jpg

 三、主机IIS和Conn.asp的设置

  关于主机IIS 7.5的设置,请参考《windows7下IIS的安装配置》。
Conn.asp的设置如图。

2010042217373838.png

修改一

2010042217380969.png

修改二

四、安装配置动易

  连接的网址还是自己的主机回放地址(或者你的IP地址)。

2010042217344750.png

  假如看到如下安装界面,恭喜你,成功了。

2010042217345705.png

五、关于1433端口连接错误的解决方案。

  下图是XP虚拟机未打开1433端口的截图。

2010042223124028.jpg

  虚拟机中,命令提示符下,Telnet <服务器> 1433提示无法打开端口,可能原因有:

  1、数据库服务未启动。

  2、防火墙屏蔽了对telnet的响应。

  3、SQL服务未在1433端口上启动监听。

  如果你用查询分析器可以连接上,应用软件也连得上,只是Telnet 1433端口失败;并且也未改动过服务端口,其它都是正常的,那么这种问题在XP SP2+SQL SERVER 2000环境中最常见。解决办法几种:

  1、反安装XP SP2的补丁,这样通常是不会出现SQL SERVER连不上的问题的。

  2、XP SP2的操作系统安装SQL SERVER 2000的SP3补丁可解决Telnet SQL SERVER的1433端口无法打开的问题。

  3、其它操作系统比如2003的,最好补一下SQL SP4。

  检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:
select @@version

  如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上。

  SQL补丁下载:

  全部补丁的位置

http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn

  应该安装的是

http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE

  注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装

  如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问。

  如何检查1433是否在监听?或者检查有哪些端口在监听?

  1、如果打了sql sp4,并且windows2003防火墙已经关闭,在命令提示符下执行netstat -na 应该可以看到tcp 1433在监听。

  2、启动企业管理器查看SQL SERVER 2000 的系统日志,在日志中可以看到SQL SERVER 启动的是那些协议来等待远程连接的。

  另外记得打完补丁,重新启动机器,或者重新启动服务。

六、关于SQL端口的修改

  如图所示,找到服务器网络实用工具。

2010042223132404.jpg

  选择TCP/IP,按属性按钮。

2010042223135568.jpg

  从弹出的窗口可以修改SQL数据库的默认端口。

2010042223141046.jpg

  同样地,想让动易连接上更改端口SQL server,对Conn.asp修改有所不同。

2010042223144060.jpg

  甚至,你可以修改NAT的设置,使得虚拟机的SQL server 1433端口映射到主机的1434端口。

2010042223145202.jpg

七、虚拟机防火墙设置

  以Windows 2003设置为例子。

  右键-网上邻居--属性--单击本地连接--高级--设置。

2010042223151166.jpg

  在服务处点击添加,添加如图(IP地址可以填写127.0.0.1,或者你的PC名字),确定就可以让1434端口对外开放。

2010042223152781.jpg

八、番外篇

  有关注我们穿越系列教程的同学都知道,VBox同样会有新的关于穿越SQL server的应用,敬请期待。




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/05/11/1732401.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章