实验1 远程客户机能否通过共享内存访问服务器

2024-04-04 06:48

本文主要是介绍实验1 远程客户机能否通过共享内存访问服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验目的
SQL Server 2000网络提供了一种称为共享内存的机制。共享内存是一种在同一个Windows 操作系统的进程间的通信机制。也就是说,在物理上同一台计算机上的进程间的通信机制就是共享内存。
如果SQL Server 2000的服务器和客户机安装在物理上的同一台计算机上(本地客户机),是可以通过共享内存来访问的,而且这样的速度也是最快的。
如果SQL Server 2000的客户机和服务器在物理上不同的计算机上(远程客户机),能不能够通过共享内存机制来访问呢?
本实验将对上述问题给出正确的答案。
实验环境
本实验的环境如图1.1所示。SQL Server 2000服务器同时也是SQL Server 2000客户机。
图1.1  测试共享内存机制的SQL Server 2000网络实验环境
实验方法
Windows 2000的【控制面板】/【管理工具】/【事件查看器】工具可以监控SQL Server 2000更改配置参数后的启动过程。通过查看【事件查看器】记录的事件可以分析SQL Server 2000服务器端参数的更改后服务器是如何启动的。
实验将SQL Server 2000服务器配置为【共享内存】模式后,分别用同一台计算机上的SQL Server 2000客户机和物理上不同计算机上的SQL Server 2000客户机通过共享内存机制来访问SQL Server 2000服务器,验证共享内存机制。
实验步骤
1.SQL Server 2000服务器上的操作
(1)在SQL Server 2000服务器上启动【服务器网络实用工具】,出现如图1.2所示的【常规】选项卡。在【启用的协议】列表框中不要启用任何协议。完成后单击 按钮。
图1.2  将服务器配置为共享内存
(2)出现如图1.3所示的【提示信息】界面。提示禁止使用所有的协议,无法接受远程客户机的请求。单击 按钮。
图1.3  【提示信息】界面
(3)出现如图1.4所示的【提示重新启动服务】界面。SQL Server服务器网络配置参数改变后要求重新启动服务,参数才能生效。单击 按钮。
图1.4  【提示重新启动服务】界面
(4)启动【事件查看器】,在【树】下选择【事件查看器】/【应用程序日志】选项用鼠标右键单击,在出现的快捷菜单中选择【清除所有事件】选项。SQL Server 2000服务器的启动过程产生的事件将记录在这里。
图1.5  清除【事件查看器】的事件
(5)通过SQL Server 2000的【服务管理器】启动SQL Server 2000服务,如图1.6所示。
图1.6  启动SQL Server 2000服务
(6)在【事件查看器】中产生如图1.7所示的事件,对这些事件进行分析就可以获得共享内存的SQL Server 2000服务器的启动过程。
图1.7  产生的事件
(7)实验环境产生的事件内容分析如下。/**/内的内容为作者添加的说明性内容。
―――――――――――――――――――――――――――――――――――――
/*第1条事件,阐述了SQL Server 的版本信息,安装环境的操作系统版本*/
2005-5-29   11:47:05    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   "17052:
Microsoft SQL Server  2000 - 8.00.760 (Intel X86)
    Dec 17 2002 14:22:05
    Copyright (c) 1988-2003 Microsoft Corporation
    Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)"
/*第2条事件,为SQL Server 2000分配的服务器进程ID*/
2005-5-29   11:47:05    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   17104:
服务器进程 ID 是 500。
/*第3条事件,SQL Server 2000实例上一次运行使用的进程ID*/
2005-5-29   11:47:05    MSSQLSERVER 信息  (2)  17176    N/A  MYNETSERVER   此 SQL Server 实例最近于 2005-5-29 11:46:34 (本地) 2005-5-29 3:46:34 (UTC)报告使用的进程 ID 是 1256。
/*第4条事件,SQL Server 2000安装在一个CPU的服务器上,以正常优先级开始启动*/
2005-5-29   11:47:05    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   17162:
SQL Server 正在以优先级“normal”(已检测到 1 CPU)启动。
/*第5条事件,SQL Server 2000的CPU配置为线程模式*/
2005-5-29   11:47:05    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   17124:
已为 thread 模式处理而配置了 SQL Server。
/*第6条事件,为SQL Server 2000分配的锁信息*/
2005-5-29   11:47:05    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   17125:
使用 dynamic 锁分配。[2500] 锁块,[5000] 锁所有者块。
/*第7条事件,启用默认的由SSNETLIB.DLL文件封装的网络库超级套接字,图1.8说明了该文件封装了TCP/IP协议和NWlink IPX/SPX两种通信协议*/
2005-5-29   11:47:07    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   17834:
正在使用“SSNETLIB.DLL”版本“8.0.766”。
/*第8条事件,由于在图1.2中配置不使用TCP/IP协议和NWlink IPX/SPX两种通信协议,所以这里提示无法注册超级套接字网络库*/
2005-5-29   11:47:09    MSSQLServer 警告  (8)  19011    N/A  MYNETSERVER   SuperSocket 信息: (SpnRegister) : Error 1355。
/*第9条事件,尽管没有明确配置启用共享内存机制,但SQL Server 2000自动启动共享内存机制*/
2005-5-29   11:47:09    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   19013:
SQL Server 正在监听 Shared Memory。
/*第10条事件,已经准备好进行客户机连接*/
2005-5-29   11:47:09    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   17126:
SQL Server 已准备好进行客户端连接
/*第11条事件,启动完成。*/
2005-5-29   11:47:10    MSSQLSERVER 信息  (2)  17055    N/A  MYNETSERVER   17052:
恢复完成。
―――――――――――――――――――――――――――――――――――――
【配套光盘文件】:\第1章\0101.txt。
(8)图1.8所示为【服务器网络实用工具】的【网络库】选项卡。说明了各网络库封装的网络通信协议。网络库是以动态链接库 DLL形式实现的IPC(进程间通信)机制。IPC机制的实现对于一般用户来讲是很复杂的,网络库将IPC机制的内部实现进行了封装,留出的部分很容易配置的参数供用户进行设置。网络库必须成对出现,也就是说,客户机和服务器选择的网络库必须是一致的。当客户机和服务器通过某种特定的网络库进行通信时,实际上就是两者选择相同的网络通信协议、相同的IPC机制来进行通信。网络库不是通信协议,而是通信协议和IPC机制组合的结果。
图1.8  SSNETLIB网络库封装的网络协议
2.本地客户机的操作
(1)在SQL Server 2000客户机上启动【客户端网络实用工具】,出现如图1.9所示的【常规】选项卡。在【按顺序启动协议】列表框中禁用所有的协议。选择【启用共享内存协议】服选框。用【查询分析器】测试连接成功。如图1.10所示。
    
图1.9  在客户机上启用共享内存协议            图1.10  测试连接成功
(2)在SQL Server 2000客户机的【客户端网络实用工具】的【常规】选项卡不选择【启用共享内存协议】服选框,如图1.11所示。用【查询分析器】测试连接,出现如图1.12所示的共享内存的服务器不存在或者拒绝访问的信息。如图1.13所示。
 
图1.11  在客户机上不启用共享内存协议            图1.12  测试连接不成功
3.远程客户机的操作
在远程SQL Server 2000客户机的【客户端网络实用工具】的【常规】选项卡中选择【启用共享内存协议】服选框,用【查询分析器】测试连接,出现如图1.13所示的服务器不存在或者拒绝访问的信息。
图1.13  远程客户机无法通过共享内存进行访问
实验结论
本实验可以得出的结论有3点。
(1)网络库不等于网络通信协议。
(2)共享内存通信机制仅仅适合本地客户机访问SQL Server 2000服务器。远程客户机不能采用该机制。
(3)TCP/IP协议的优先次序优于共享内存。
【实验视频文件】:\第1章\0101.exe。

您可能感兴趣的文章
软件测试开发技术SQL 2005 express远程访问和sa密码的问题
在MySql中添加远程超级用户
在MySql中添加远程超级用户
无法远程登入MySQL的几种解决办法[1]

本文标题:实验1 远程客户机能否通过共享内存访问服务器
http://www.ltesting.net/ceshi/ruanjianceshikaifajishu/rjcskfyy/sjk/2007/0525/6367.html
(注:本文章只代表作者观点。部分文章内容来自于互联网,如您享有版权可直接联系我们。欢迎登陆领测软件测试论坛参与讨论)
转自:领测软件测试网[http://www.ltesting.net]
原文链接:http://www.ltesting.net/ceshi/ruanjianceshikaifajishu/rjcskfyy/sjk/2007/0525/6367.html

这篇关于实验1 远程客户机能否通过共享内存访问服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875081

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与