实验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

相关文章

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Python WSGI HTTP服务器Gunicorn使用详解

《PythonWSGIHTTP服务器Gunicorn使用详解》Gunicorn是Python的WSGI服务器,用于部署Flask/Django应用,性能高且稳定,支持多Worker类型与配置,可处... 目录一、什么是 Gunicorn?二、为什么需要Gunicorn?三、安装Gunicorn四、基本使用启

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参