zoukankan      html  css  js  c++  java
  • 黄聪:穿过主机访问虚拟机中的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

      如果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的应用,敬请期待。

  • 相关阅读:
    浅谈C++多态性
    OSI七层模型具体解释
    文本框仅仅同意输入数字
    MessageDigest简单介绍
    CF 161D Distance in Tree【树DP】
    第六届蓝桥杯JavaA组国(决)赛真题
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
  • 原文地址:https://www.cnblogs.com/huangcong/p/1732401.html
Copyright © 2011-2022 走看看