黄聪

论SEO对人类的重要性,请看我的博客:hcsem.com

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  一般来说,大家都会在主机或者虚拟机中安装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

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

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

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

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

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

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

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

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

修改一

修改二

四、安装配置动易

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

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

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

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

  虚拟机中,命令提示符下,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端口的修改

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

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

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

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

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

七、虚拟机防火墙设置

  以Windows 2003设置为例子。

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

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

八、番外篇

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

posted on 2010-05-11 11:14  黄聪  阅读(4427)  评论(0编辑  收藏  举报