
第2章SQL Server服务题和客户幢 S0 LServer是一种具有客户机/服务器体系结构的关系型数据库管理系统,它由一些具 有数据存储检索功能的客户端组件和服务器组件组成。这种体系结构的好处是把所有的工作 负荷分散到在服务和客户端上运行的各项任务中,客户端负责业务逻辑和向用户提供数 据,服务器管理数据库和分配可用的服务器货源,这样,服务器为整个数据库系统提供白己 最擅长的服务,供所有客户机来分享:客户机上的应用程序借助于服务器上的服务功能可以 实现复杂的应用,本章将介绍SqS©r20C0的组成结构、性能以及它各种组件和组件的操 作。 215qL5 erver:述 21.1S限的特点 sSL是结构化查询语言(StructureQeryLanguage)的缩写,是关系型数据库管理系统中 最瓷行的数据查询和操作语言,是各种美系型数据岸系统的基留,用户使用SL语言在数据 库中呵以执行各种相关操作。 从S的莲生到现在,己经出现了许多不同版本的SL语言,0世纪0年代中期,IW 公司的SanJose实验室靶Sq作为一种新型的关系数据库语言而设计出来,这是最早的SL 版本。 80年代后期,市场上的许多数暴库都使用5▣L,但每个开发商之间,不月平台之间的 SL兼容性很差。为了改变这一现状,1986年10月,国际标准化组织(1S0)和美国国家标准 委员会s)共问发布了一个标准,简称SL-85. 19的2年,1S0和AN5I对S-86遗行修订,发布了SqL-2,它是当前许多数据岸产品 所采用的Sq.标准。 1999年,标准化组织发布了反应最新数据库理论和技术的标准SqL-99,如递归,触发, 面向对象等。 另外,不同的数据库管理系统厂商在标准SL语言的基础上对其进行了扩履,增强了一 些功能,并给它们取了不同的名移,例如,MicrosoftSQLServer推出了Transact-S,0 racle 推出了LSqL S网语言包括了所有对数据库的操作,可分为四个部分:即数据查淘语言、数据定文语 言、数据操城语言、数据控制语言,其功能如下所示: (I)数据查面语言ataQeryLanguage,L》主要是按围一定的查询条件从爱据库对象中
第 2 章 SQL Server 服务器和客户端 SQLServer 是一种具有客户机/服务器体系结构的关系型数据库管理系统,它由一些具 有数据存储检索功能的客户端组件和服务器组件组成。这种体系结构的好处是把所有的工作 负荷分散到在服务器和客户端上运行的各项任务中,客户端负责业务逻辑和向用户提供数 据,服务器管理数据库和分配可用的服务器资源。这样,服务器为整个数据库系统提供自己 最擅长的服务,供所有客户机来分享;客户机上的应用程序借助于服务器上的服务功能可以 实现复杂的应用。本章将介绍 SQLServer2000 的组成结构、性能以及它各种组件和组件的操 作。 2.1SQLServer 概述 2.1.1SQL 的特点 SQL 是结构化查询语言(StructureQueryLanguage)的缩写,是关系型数据库管理系统中 最流行的数据查询和操作语言,是各种关系型数据库系统的基础,用户使用 SQL 语言在数据 库中可以执行各种相关操作。 从 SQL 的诞生到现在,已经出现了许多不同版本的 SQL 语言。20 世纪 70 年代中期,IBM 公司的 SanJose 实验室把 SQL 作为一种新型的关系数据库语言而设计出来,这是最早的 SQL 版本。 80 年代后期,市场上的许多数据库都使用 SQL,但每个开发商之间,不同平台之间的 SQL 兼容性很差。为了改变这一现状,1986 年 10 月,国际标准化组织(ISO)和美国国家标准 委员会(ANSI)共同发布了一个标准,简称 SQL-86。 1992 年,ISO 和 ANSI 对 SQL-86 进行修订,发布了 SQL-92,它是当前许多数据库产品 所采用的 SQL 标准。 1999 年,标准化组织发布了反应最新数据库理论和技术的标准 SQL-99,如递归、触发、 面向对象等。 另外,不同的数据库管理系统厂商在标准 SQL 语言的基础上对其进行了扩展,增强了一 些功能,并给它们取了不同的名称,例如,MicrosoftSQLServer 推出了 Transact-SQL,Oracle 推出了 PL/SQL。 SQL 语言包括了所有对数据库的操作,可分为四个部分:即数据查询语言、数据定义语 言、数据操纵语言、数据控制语言。其功能如下所示: ⑴数据查询语言(DataQueryLanguage,DQL)主要是按照一定的查询条件从数据库对象中

查找符合要求的记录。 (2)数据定义语言们ataDefinitionLanguage,.)主要是定文数据库的逻蜩结构,如, 表,视图和累引的定义,修改和酬除等。 数据探枫语言①ataManipulat ionlanguage,M)包括数据插入,别和更新等操作。 (4)数据控制语言们ataControlLanguage,Da.)包括基本表和视图等对象的授权、完整性 规则的描述以及事务开始和结束等控制语句等, S网语言虽燃可以完成全部的数据库操作,但它本身不是一个完整的编程语言,一般与 其他编程语言(如Delphi、Powert切ilder、VB、C等)结合起来使用。即在使用上述计算机 语言编写的应用程序中调用数据库APT米传通SQ.语言,以达到向S网S0F服务器请求查 询和按牧结果的目的。 与一粮编程语言相此,SL具有的主要特点是: ()一体化的特点 SL语言能完成定义关系颅式,建立数据库,更行推护数据库,数据库重构,数据库安 全性控制等一系列操作要求,可以实现数据阵生命期当中的全都话动。由于关系模型中实体 与实体间的联系都是用关系米表示,这种数据结构的单一性保证了操作符的单一性。 (2四饶一的语法结构,多种使用方式 S,由两种使用方式,一种是联机使用方式,即在数据库管理系统的组件中编写并完成 各种SL数据库操作命令。另一种是帐入程序方式,大多数的编程语言(如ei,B、C Java等)都具有帐入SL的编程接口,可以将SL代码怅入程序中米完成数据库的操作。 (30非过程化语言 在S中,只雷用户提出“干什么”,而无须指出“怎么干”,存取路径的选择和SL 语句操作的过程由系统自动完成。 ()是所有关系数据库的公共语言 由于所有主要的关系数据库管理系统都支持SqL语言,用户可将使用S网L的技晚从一个 数据库管理系统转移到另一个系统中,所有用S网L编写的程序都可以移植。 21.2 SQLServer的结构 SQLServer2O00由一系列相互协作的组件构成,能满足最大的eb站点和企业数据处理 系统存储和分析数据的需要。同时,还能为个人或企业提供易于使用的量据存储服务。 SSer©r2000采用客户机/飘务器计算模型,如图2-】所示,即中央服务器用来存放 数据库,该服务器可以被多台客户机访问,数据库应用的处理过程分布在客户机和服务器上
查找符合要求的记录。 ⑵数据定义语言(DataDefinitionLanguage,DDL)主要是定义数据库的逻辑结构,如, 表、视图和索引的定义、修改和删除等。 ⑶数据操纵语言(DataManipulationLanguage,DML)包括数据插入、删除和更新等操作。 ⑷数据控制语言(DataControlLanguage,DCL)包括基本表和视图等对象的授权、完整性 规则的描述以及事务开始和结束等控制语句等。 SQL 语言虽然可以完成全部的数据库操作,但它本身不是一个完整的编程语言,一般与 其他编程语言(如 Delphi、Powerbuilder、VB、VC 等)结合起来使用。即在使用上述计算机 语言编写的应用程序中调用数据库 API 来传递 SQL 语言,以达到向 SQLServer 服务器请求查 询和接收结果的目的。 与一般编程语言相比,SQL 具有的主要特点是: ⑴一体化的特点 SQL 语言能完成定义关系模式、建立数据库、更行维护数据库、数据库重构、数据库安 全性控制等一系列操作要求,可以实现数据库生命期当中的全部活动。由于关系模型中实体 与实体间的联系都是用关系来表示,这种数据结构的单一性保证了操作符的单一性。 ⑵统一的语法结构,多种使用方式 SQL 由两种使用方式,一种是联机使用方式,即在数据库管理系统的组件中编写并完成 各种 SQL 数据库操作命令。另一种是嵌入程序方式,大多数的编程语言(如 Delphi、VB、VC、 Java 等)都具有嵌入 SQL 的编程接口,可以将 SQL 代码嵌入程序中来完成数据库的操作。 ⑶非过程化语言 在 SQL 中,只需用户提出“干什么”,而无须指出“怎么干”,存取路径的选择和 SQL 语句操作的过程由系统自动完成。 ⑷是所有关系数据库的公共语言 由于所有主要的关系数据库管理系统都支持 SQL 语言,用户可将使用 SQL 的技能从一个 数据库管理系统转移到另一个系统中,所有用 SQL 编写的程序都可以移植。 2.1.2SQLServer 的结构 SQLServer2000 由一系列相互协作的组件构成,能满足最大的 Web 站点和企业数据处理 系统存储和分析数据的需要。同时,还能为个人或企业提供易于使用的数据存储服务。 SQLServer2000 采用客户机/服务器计算模型,如图 2-1 所示,即中央服务器用来存放 数据库,该服务器可以被多台客户机访问,数据库应用的处理过程分布在客户机和服务器上

客户机/服务器计算模型分为两层的客户机/服务器结构和多层的客户机/服务器结构。 图2-1客户机/服务器结构 在两层的客户机/服务器系统中,客户机通过网络与运行SQLServer2000实例的服务器 相违,客户机用来完成数据表示和大部分业务逐铜的实现,服务器完成数据的存储。在多层 (一般为三层)的客户机/服务墨系统中,第一层是客户机。它只负责数据的表示:第二层是 业务逐辑层,负责业务逻细的实现,所有客户机都可以对它进行访间:第三层是数据库。例 如Internet应用就是三层结构的一个奥型例子, SQLServer采用客户机V服务器结构的好处在于: ()量据集中存储在服务器上,而不是分开存储在各个客户机上,这使所有用户都可以访 问到相间的数据, (构业务逐辑和安全规则可以在服务器上定义一次,而后被所有的客户机使用。 ()关系数据岸服务器仅返回应用程序所需要的数据,这样可以减少网络拥挤程度。 ()数据存储在服务器上,客户机娘件不需要具备存储和处理大量数据的能力,同样服务 器也不需要具备数据表示的功能 )数据存储在服务器上,所以数据的备卧和恢复起来恨容易。 21.3 SQLServer的数据库文件 在SQLServer2000中,数据库使用一组操作系统文件米陕射数据岸。数据库中的所有数 据和对象都存储在下列操作系统文件中: ()主要数据文件()。该文件包含数据库的启动信息,并用于存储数据。每个数据库 都有一个主要数据文件, ()次要数据文件(d),这些文作也用米存储数据,它合有不修置于主要数据文作中的 所有数据。如果主要数据文件可以包含数据库中的所有数据,那么数据库就不需要次要数据 文件。如果数据库很大,主要数据文件的容量超过了系统的限制,就需要授置一个或多个次 要数据文件,并将它们故在不同的磁盘上。 (的事务日志文件(,1们,这些文件包含用于族复数据库的日志信息。每个数据库都必须 至少有一个事务日志文件: 一般情况下,一个简单的数据库可以贝有一个主要数据文件和一个事务日志文件,如果 数据库银大,可以使用一个主要数据文件和多个次要数据文件,数据库内的数据和对象分布 到这线主要和次要文件中:另外可以设置多个事务日志文件来包含事务日志信息。所有数据 文件和事务日志文件都是默认存放在C:ProgranFi1 esVicrosof t5 SOLServerV5 SQL\Data
客户机/服务器计算模型分为两层的客户机/服务器结构和多层的客户机/服务器结构。 图 2-1 客户机/服务器结构 在两层的客户机/服务器系统中,客户机通过网络与运行 SQLServer2000 实例的服务器 相连,客户机用来完成数据表示和大部分业务逻辑的实现,服务器完成数据的存储。在多层 (一般为三层)的客户机/服务器系统中,第一层是客户机,它只负责数据的表示;第二层是 业务逻辑层,负责业务逻辑的实现,所有客户机都可以对它进行访问;第三层是数据库。例 如 Internet 应用就是三层结构的一个典型例子。 SQLServer 采用客户机/服务器结构的好处在于: ⑴数据集中存储在服务器上,而不是分开存储在各个客户机上,这使所有用户都可以访 问到相同的数据。 ⑵业务逻辑和安全规则可以在服务器上定义一次,而后被所有的客户机使用。 ⑶关系数据库服务器仅返回应用程序所需要的数据,这样可以减少网络拥挤程度。 ⑷数据存储在服务器上,客户机硬件不需要具备存储和处理大量数据的能力,同样服务 器也不需要具备数据表示的功能。 ⑸数据存储在服务器上,所以数据的备份和恢复起来很容易。 2.1.3SQLServer 的数据库文件 在 SQLServer2000 中,数据库使用一组操作系统文件来映射数据库。数据库中的所有数 据和对象都存储在下列操作系统文件中: ⑴主要数据文件(.mdf)。该文件包含数据库的启动信息,并用于存储数据。每个数据库 都有一个主要数据文件。 ⑵次要数据文件(.ndf)。这些文件也用来存储数据,它含有不能置于主要数据文件中的 所有数据。如果主要数据文件可以包含数据库中的所有数据,那么数据库就不需要次要数据 文件。如果数据库很大,主要数据文件的容量超过了系统的限制,就需要设置一个或多个次 要数据文件,并将它们放在不同的磁盘上。 ⑶事务日志文件(.ldf)。这些文件包含用于恢复数据库的日志信息。每个数据库都必须 至少有一个事务日志文件。 一般情况下,一个简单的数据库可以只有一个主要数据文件和一个事务日志文件。如果 数据库很大,可以使用一个主要数据文件和多个次要数据文件,数据库内的数据和对象分布 到这些主要和次要文件中;另外可以设置多个事务日志文件来包含事务日志信息。所有数据 文件和事务日志文件都是默认存放在 C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data

目录下。 为了方便数据的分配,放置和管理,SS0v©r提供了对数据库文件进行分组管理的功 能,文件组可以将数据分布在多个磁盘上并在查询过程中使用并行线程,从而改善系统性能, 同时文件组也有利于数据库的雄护。例如,可以将一个数据库的三个次要数据文件 (datal..ndf、dnta2ndf,datn以ndf)分别创建在三个磁盘上,这三个文件组成文作组 ilegroupl。.然后,可以在文件组file红oupl上创建一个表。这样表中的数据设可以分布 到三个磁盘上,,在对该表执行查询时,系统利用并行线程同时扫描三个磁盘,大大提高了 查询效率。 数据库文件和文件组必须遵循以下规则:一个文件和文件组只能被一个数据库使用,也 就是一个文件和文件组中不能包含其能数据库的数据:一个数据库文件只能属于一个文件 组:事务日志文件不能加入文件组中。 22 SQLServer?2000的服务器粗件 SqL5rver2O00服务器系统提供了完整的组件工具,通过使用这些服务器组件工具,可 以简化对数据库系统的复桑操作,提高用户的工作效率。下面介绍几个服务器组件 221企业管理器 企业管理器是一个遵从MCOlicrosof:ManageC0 nsole,微软管理控制台)的公共服务器 管理界面。不仅可以在企业管理器中光成绝大多数的管理任务,例如,注历并运行SQLServer 服务器实例、在SOLServer服务器中建立并管理量据岸及其对象,登录用户和权限的管理等: 而且可以在一个界面下同时管理多个S0 Server实例,包括远程网络上的S5eer实例. 企业管理器如图22所示,左窗格的树型目录包括了在企业管理器中注册的所有SQLServer 服务器,以及每个服务器所能提供的服务。在树型目录中选择一个目录项。右窗格就会显示 该目录项的具体内容。 使用金业管理器可以完成如下工作,注厅和管理SOLServer服务器,连接,启动,暂停 或停止SSvr服务:创建和管理数据库:创建和管理各种数据库对象;各份数据库和事 务日志:管理用户账户,编写和执行T-5QL塔句等。 22.2查询分析器 查询分析器是一个交互式图形工具,它使数据库管理员和开发人员能够在其中黑辑、运 行5q.语句,并且可以在查询分析器的官口中同时查看S风语句的执行结果。查询分斯器如 图2-3所示,左窗格为对象测览器C色j0 ctBrower),利月对象浏览器可以浏竟当前服务器的 所有数据库对象:它的右窗格的上部是查面窗口,在这里用户可以输入SL语句,下部是
目录下。 为了方便数据的分配、放置和管理,SQLServer 提供了对数据库文件进行分组管理的功 能。文件组可以将数据分布在多个磁盘上并在查询过程中使用并行线程,从而改善系统性能, 同时文件组也有利于数据库的维护。例如,可以将一个数据库的三个次要数据文件 (data1.ndf、data2.ndf、data3.ndf)分别创建在三个磁盘上,这三个文件组成文件组 filegroup1。然后,可以在文件组 filegroup1 上创建一个表。这样表中的数据就可以分布 到三个磁盘上,,在对该表执行查询时,系统利用并行线程同时扫描三个磁盘,大大提高了 查询效率。 数据库文件和文件组必须遵循以下规则:一个文件和文件组只能被一个数据库使用,也 就是一个文件和文件组中不能包含其他数据库的数据;一个数据库文件只能属于一个文件 组;事务日志文件不能加入文件组中。 2.2SQLServer2000 的服务器组件 SQLServer2000 服务器系统提供了完整的组件工具,通过使用这些服务器组件工具,可 以简化对数据库系统的复杂操作,提高用户的工作效率。下面介绍几个服务器组件 2.2.1 企业管理器 企业管理器是一个遵从 MMC(MicrosoftManageConsole,微软管理控制台)的公共服务器 管理界面。不仅可以在企业管理器中完成绝大多数的管理任务,例如,注册并运行 SQLServer 服务器实例、在 SQLServer 服务器中建立并管理数据库及其对象、登录用户和权限的管理等; 而且可以在一个界面下同时管理多个 SQLServer 实例,包括远程网络上的 SQLServer 实例。 企业管理器如图 2-2 所示,左窗格的树型目录包括了在企业管理器中注册的所有 SQLServer 服务器,以及每个服务器所能提供的服务。在树型目录中选择一个目录项,右窗格就会显示 该目录项的具体内容。 使用企业管理器可以完成如下工作:注册和管理 SQLServer 服务器;连接、启动、暂停 或停止 SQLServer 服务;创建和管理数据库;创建和管理各种数据库对象;备份数据库和事 务日志;管理用户账户,编写和执行 T-SQL 语句等。 2.2.2 查询分析器 查询分析器是一个交互式图形工具,它使数据库管理员和开发人员能够在其中编辑、运 行 SQL 语句,并且可以在查询分析器的窗口中同时查看 SQL 语句的执行结果。查询分析器如 图 2-3 所示,左窗格为对象浏览器(ObjectBrower),利用对象浏览器可以浏览当前服务器的 所有数据库对象;它的右窗格的上部是查询窗口,在这里用户可以输入 SQL 语句,下部是

9q语句执行结果的显示窗口。 查询分析器同时也是一个分析工具,它不仅能够执行S双语句,还能对SL语句的执行 结果进行分析,为董询优化是供直观的显示和酒助。 22.3 SQLServer服务管理器 SQLServer服务管理器是用米启动、停止和暂停各种SQLServer服务:如图24所示, 利用它可以遗择服务器和要启动或停止的服务,SqS0rer服务包括S9网Server服务、 SQLServerAgent服务、Microsoft分布式事务协调程序(SDIS)。用户可以使用服务管理器 来启动服务、暂停和停止正在运行的服务,设置当操作系统启动时是否自动启动服务的选项, 2.2.4事件探查器 事件探查器(Profiler)用来监视(跟鉴选定的SCLServer事件,用于分析、诊断和审计 SQLServer系统的性能。它可以监视执行缓慢的存储过程或者爱生死铺之前的事件,以便发 现引起系统故障的原因,发现和诊斯运行缓慢的SgL语句,这里的事件是指SQLServer引攀 产生的操作,它包括登录,SL语句,存销过程,批处理,游标和安全权限校查等等,SOLServer 事件探查器是一个图形化的工具,如图2-5所示。事件探查器允许系统管理员对计算机上正 在运行的SQLServer草事件进行监视, 22,5性能监视器 除了SMS0rveT2O00提供的多种工具可以监程SS0Fv0T实例的性能以及在数据库中发 生的用户话动以外,还可以使用idms操作系统中的工具一性能监程器来监视硬件和其 它与数据库系统有关的问愿。 indows操作系统中的性饶蓝视落可以监视SOLServer的性俊,可以查看SQLServer进 程的性能计数墨,可以查看SQLServer运行时包括C刊处理器、内存、高逸缓存、系统线程 等对象的行为。由此获取最新的SQLServer活动以及性能统计信息. 使用idas操作系统的性能监视器对SQLServer进行监视的过程如下:首先。在 id加ws2000中启动系统蓝祝器。单击“开始”,点击“程序”子菜单,进而点击“管理工 风”子菜单,然后单击“性能”金令,就可以打开性能监视器。如图2-6所示。它可以让用 户自由设置要监视的对象如处理器、内存、SQLServer进程等。监混器以图形方式直观地显 示各监视对象的计数器值。 22.6其他服务器组件 除了上面介绍的企业管理卷、查询分析器、服务管理器、事件深查器、性能监视器之外, 服务器组件还有
SQL 语句执行结果的显示窗口。 查询分析器同时也是一个分析工具,它不仅能够执行 SQL 语句,还能对 SQL 语句的执行 结果进行分析,为查询优化提供直观的显示和帮助。 2.2.3SQLServer 服务管理器 SQLServer 服务管理器是用来启动、停止和暂停各种 SQLServer 服务。如图 2-4 所示, 利用它可以选择服务器和要启动或停止的服务。SQLServer 服务包括 MSSQLServer 服务、 SQLServerAgent 服务、Microsoft 分布式事务协调程序(MSDTS)。用户可以使用服务管理器 来启动服务、暂停和停止正在运行的服务,设置当操作系统启动时是否自动启动服务的选项。 2.2.4 事件探查器 事件探查器(Profiler)用来监视(跟踪)选定的 SQLServer 事件,用于分析、诊断和审计 SQLServer 系统的性能。它可以监视执行缓慢的存储过程或者发生死锁之前的事件,以便发 现引起系统故障的原因、发现和诊断运行缓慢的 SQL 语句。这里的事件是指 SQLServer 引擎 产生的操作,它包括登录、SQL 语句、存储过程、批处理、游标和安全权限检查等等。SQLServer 事件探查器是一个图形化的工具,如图 2-5 所示。事件探查器允许系统管理员对计算机上正 在运行的 SQLServer 引擎事件进行监视。 2.2.5 性能监视器 除了SQLServer2000提供的多种工具可以监视SQLServer实例的性能以及在数据库中发 生的用户活动以外,还可以使用 Windows 操作系统中的工具----性能监视器来监视硬件和其 它与数据库系统有关的问题。 Windows 操作系统中的性能监视器可以监视 SQLServer 的性能,可以查看 SQLServer 进 程的性能计数器,可以查看 SQLServer 运行时包括 CPU 处理器、内存、高速缓存、系统线程 等对象的行为。由此获取最新的 SQLServer 活动以及性能统计信息。 使用 Windows 操作系统的性能监视器对 SQLServer 进行监视的过程如下:首先,在 Windows2000 中启动系统监视器。单击“开始”,点击“程序”子菜单,进而点击“管理工 具”子菜单,然后单击“性能”命令,就可以打开性能监视器。如图 2-6 所示。它可以让用 户自由设置要监视的对象如处理器、内存、SQLServer 进程等。监视器以图形方式直观地显 示各监视对象的计数器值。 2.2.6 其他服务器组件 除了上面介绍的企业管理器、查询分析器、服务管理器、事件探查器、性能监视器之外, 服务器组件还有:

DTS导入和导出向导:一个数据传递工具,该工具不仅可以在服务器之何传递SQLServer 数据,同时还可以传递异种数据,例如可以将MicrosoftAccess数暴库中的数据导入到 SqL5 erver2000数据库中,也可以将SgL5 erver2000数据岸中的数据以其他数据源,如文本 文件的形式导出。关于数据导入和导出的具体操作,请参见第11章“数据转换服务”中的 详细介绍。 客户端网路实用工具(ClientNetworkutility):这是控制面板中的一个应用程序,其文 件名为c:1wi睡t\syst32\cliconfg.cpl,该程序用于设置本机f作为客户机访问其他 SL5rver时默认使用的网格库。对于一些使用默认的网铬库无法访门的服务器(如 indows9B上的SqL5 erver)来说,则可以指定专用的网络库。 服务器树路实月工具(ServerNetworkuti1ity):提供了一个操作界面,用于设置木机作 为服务器时允许的连接协议(如金名管道等),以便支持不同配置的客户瑞。 联机从书:SQLserver在线帮助,或书面文档的电子版,几平提供了有关SQLServer2000 管理和开发的所有信息。与其他最新的微款产品一样,SSrv©r2000的联机文档完全使用 L格式 235gL5 erver2000服务器端的操作 23.1府动Sql.5emer2000 1.服务管理器方式 要使用数据库,首先要启动SMLServer,用户可以利用服务管理器,即选择“开给→程 序一licrosoftSQLServer”程序组中的“服务器管理器”命令项,进入SQLServer服务器管 理器窗口,如图2-7所示,点击其上的“开始/雅线”按钮,直到看到绿灯亮,说明SS0veT 已经启动. 2命◆行方式 用户也可以在命令行方式来启动和关闭50 Server2000。例如i,在D05命令行方式下输 入netstartassqlserver即可启动SQLServer2000:输入etstopassqlserver命◆可以关 f闭SOLServer2000. 3管理工具中的蛋务方式 用户还可以通过indows2000 Server控制面板中的“管理工具”下的“服务”米启动和 关闭SSe0F。使用“控制面板”进行配置,可按下列步膏法行操作: 单击“开始”一“设置”一“控制面板”,打开“控制面版”窗口→双击“服务”图标, 打开“服务”对话框,对话框的“根务”清单中显示了当前系统中每一种服务的当前状态和
DTS 导入和导出向导:一个数据传递工具,该工具不仅可以在服务器之间传递 SQLServer 数据,同时还可以传递异种数据,例如可以将 MicrosoftAccess 数据库中的数据导入到 SQLServer2000 数据库中,也可以将 SQLServer2000 数据库中的数据以其他数据源,如文本 文件的形式导出。关于数据导入和导出的具体操作,请参见第 11 章“数据转换服务”中的 详细介绍。 客户端网络实用工具(ClientNetworkutility):这是控制面板中的一个应用程序,其文 件名为 c:\winnt\system32\cliconfg.cpl。该程序用于设置本机作为客户机访问其他 SQLServer 时默认使用的网络库。对于一些使用默认的网络库无法访问的服务器(如 Windows98 上的 SQLServer)来说,则可以指定专用的网络库。 服务器网络实用工具(ServerNetworkutility):提供了一个操作界面,用于设置本机作 为服务器时允许的连接协议(如命名管道等),以便支持不同配置的客户端。 联机丛书:SQLserver 在线帮助,或书面文档的电子版,几乎提供了有关 SQLServer2000 管理和开发的所有信息。与其他最新的微软产品一样,SQLServer2000 的联机文档完全使用 HTML 格式。 2.3SQLServer2000 服务器端的操作 2.3.1 启动 SQLServer2000 1.服务管理器方式 要使用数据库,首先要启动 SQLServer,用户可以利用服务管理器。即选择“开始→程 序→MicrosoftSQLServer”程序组中的“服务器管理器”命令项,进入 SQLServer 服务器管 理器窗口,如图 2-7 所示。点击其上的“开始/继续”按钮,直到看到绿灯亮,说明 SQLServer 已经启动。 2.命令行方式 用户也可以在命令行方式来启动和关闭 SQLServer2000。例如,在 DOS 命令行方式下输 入 netstartmssqlserver 即可启动 SQLServer2000;输入 netstopmssqlserver 命令可以关 闭 SQLServer2000。 3.管理工具中的服务方式 用户还可以通过 Windows2000Server 控制面板中的“管理工具”下的“服务”来启动和 关闭 SQLServer。使用“控制面板”进行配置,可按下列步骤进行操作: 单击“开始”→“设置”→“控制面板”,打开“控制面板”窗口→双击“服务”图标, 打开“服务”对话框,对话框的“服务”清单中显示了当前系统中每一种服务的当前状态和

启动方式,如果要启动成停止某个服务,可选定该服务,然后单击“启动”成“停止”按细 要配置某个服务,可双击该服务。或选定该服务,然后单击“启动”按组,打开设置达定服 务的启动方式的对话属。 一般情况下,服务的启动方式有自动,手动和禁用。对于像S9 QLServer这样的不涉及 到数据库复制、分布式事务处理的服务,可设置为“自动”启动。而像SQLServerAgent和 SC之类的服务,可设置为“手工”启动,以便在需要该服务时,通过“控制面板,或 其他应用程序或“tStart”命令行米启动它。因为无论启动感一种服务,都需要占用一定 的系统资源,影响到整个系统的性能,因此,一般情况下,只启动那些需要的服务 23,2对sa账号加入密码 系统在第一次安装时,会建立一个名称为“s”的用户帐号,。用户使用这个帐号可以登 录SQLServer服务器、使用数据库等。但是它没有密码,任何人都可以“sa”的名义登录和 使用数据库,为了安全起见,必须在安装完成后马上对“”帐号设定密码。 1.利用企业管理器给蜡帐号添加密码 自动SQLServer服务器后,打开企业管理器并履开服务器,选择“安全性”文件夹中的 叠录图标,双击该图标,企业管理器右边窗口将显示本服务器的现有登录帐号。选中8阳帐 号,按鼠标右健并选择“属性”,如图2-8所示,在弹出的属性对话医中重新输入修改的密 码,并点击“确定”按钮即可。如图2-9所示。 2在查旗分析器中用SL诗句命令修改sa帐号斋玛 打开查面分析器,知果是第一次连接SOLServer服务墨,则会弹出连接SQLServer的验 证度口,如图2-0所示,如果5帐号没有密码,则直接点击确定按钮:如果s餐号有密 码,则使用原密码后点击确定按钮。帐号验证完毕后即进入查询分析器。在查询分析器右侧 的查询页窗口中输入更改密码的S风L.语句命令: sp_passwordold_passsord,new_passsord[,loginid] 其中,old_password:单密码,new_passsord:修攻后的密码,loginid:山登录名 如果原来没有设定密码,则将上而语句中的old_password设为阳l1,e_assvord 设置为新密码。例如:123456,最后点击查询分析器窗口工具栏上的“执行查出”按钮,即 可得到“密玛己更改”的信息,如图2-1山所示。 23.35 Server2000配置 1.使用企业管理器配置服务 单击“开始”→“程序”→“MicrosoftS0 LServer”→打开“企业管理墨”窗口,在如
启动方式,如果要启动或停止某个服务,可选定该服务,然后单击“启动”或“停止”按钮; 要配置某个服务,可双击该服务,或选定该服务。然后单击“启动”按钮,打开设置选定服 务的启动方式的对话框。 一般情况下,服务的启动方式有自动、手动和禁用。对于像 MSSQLServer 这样的不涉及 到数据库复制、分布式事务处理的服务,可设置为“自动”启动,而像 SQLServerAgent 和 MSDTC 之类的服务,可设置为“手工”启动,以便在需要该服务时,通过“控制面板”,或 其他应用程序或“NetStart”命令行来启动它。因为无论启动哪一种服务,都需要占用一定 的系统资源,影响到整个系统的性能,因此,一般情况下,只启动那些需要的服务。 2.3.2 对 sa 账号加入密码 系统在第一次安装时,会建立一个名称为“sa”的用户帐号,用户使用这个帐号可以登 录 SQLServer 服务器、使用数据库等。但是它没有密码,任何人都可以“sa”的名义登录和 使用数据库,为了安全起见,必须在安装完成后马上对“sa”帐号设定密码。 1.利用企业管理器给 sa 帐号添加密码 启动 SQLServer 服务器后,打开企业管理器并展开服务器,选择“安全性”文件夹中的 登录图标,双击该图标,企业管理器右边窗口将显示本服务器的现有登录帐号。选中 sa 帐 号,按鼠标右键并选择“属性”,如图 2-8 所示,在弹出的属性对话框中重新输入修改的密 码,并点击“确定”按钮即可。如图 2-9 所示。 2.在查询分析器中用 SQL 语句命令修改 sa 帐号密码 打开查询分析器,如果是第一次连接 SQLServer 服务器,则会弹出连接 SQLServer 的验 证窗口,如图 2-10 所示,如果 sa 帐号没有密码,则直接点击确定按钮;如果 sa 帐号有密 码,则使用原密码后点击确定按钮。帐号验证完毕后即进入查询分析器。在查询分析器右侧 的查询页窗口中输入更改密码的 SQL 语句命令: sp_passwordold_password,new_password[,loginid] 其中,old_password:原密码,new_password:修改后的密码,loginid:登录名 如果原来没有设定密码,则将上面语句中的 old_password 设为 null,new_password 设置为新密码,例如:123456。最后点击查询分析器窗口工具栏上的“执行查询”按钮,即 可得到“密码已更改”的信息,如图 2-11 所示。 2.3.3SQLServer2000 配置 1.使用企业管理器配置服务 单击“开始”→“程序”→“MicrosoftSQLServer”→打开“企业管理器”窗口,在如

图2-12所示金业管理器的左窗格,将鼠标移至服务器上然后按右键。在弹出的菜单中遗择 “属性”选项。系统弹出“SqSe©r属性(配置)”对话框,如图2-13所示,用户可以在 这里对SOLServer系统配置进行设置成修改,其中, ()在“常规”标签贞中,可设置是香自动启动SqS©TcF的三种鼎务,单击“启动参数” 按钮,可设置启动参数: (2在“安全性”标签页中,可设置启动服务时使用的账号类型。 (在“内存”标签页上,可靶内存设置为固定大小,也可设置为恨据需要自动调整内程 大小 ()在”处理器”标签翼上,可以对使用多处理墨的环境指定个专门处理S,的处理器, (⑤在“连接”标鉴页上,可以指定同时连接的最大用户数量,以及是否允许其他的 SQLServer用户远程地违接到该服务器上. 们在“服务器设置”标签真上,可指定用户使用的默认语言。是否允许直接对系统日录 进行修改,是否运行触发器帐套等。 (在“数据库设置”标签页上,可设置生成索引的方式,答粉和恢复数据岸时的等待时 间。 心在“复制”标签页上,可以设置“发布和分发”透项,阻必须先设置发布服务器和分 发服务器,点击“配置”进入配置发泰和分发向导, 2S0 LServer2000的安全配置服务 sS阅Lserver2000使用两层安全机制来确认用户的有效性,即身份验正和权限验证两个阶 段。 ()身份验证横式 indows认证:用户对SQLserver访问的控制由indows账号或用户组完成,当述行违 接时,用户不需要提供SQL.server登陆账号: SQLserver认证:SQLserver管理员必须建立SQL.server登陆账号和口令。当用户要连 接到SQLserver时,必须同时提供SQLserver的登陆账号和口令. 混合认证模式:两种模式同时工作,用户即能使用indows.2000认证模式又能使用 SQLServer认证颅式连接到SOLServer服务墨。 (2物权限验证 身份险证成功,连接到SOLServer数据库后,用户必领使用特定的用户账号才修对数据 库进行访问
图 2-12 所示企业管理器的左窗格,将鼠标移至服务器上然后按右键,在弹出的菜单中选择 “属性”选项,系统弹出“SQLServer 属性(配置)”对话框,如图 2-13 所示,用户可以在 这里对 SQLServer 系统配置进行设置或修改。其中: ⑴在“常规”标签页中,可设置是否自动启动 SQLServer 的三种服务,单击“启动参数” 按钮,可设置启动参数。 ⑵在“安全性”标签页中,可设置启动服务时使用的账号类型。 ⑶在“内存”标签页上,可把内存设置为固定大小,也可设置为根据需要自动调整内存 大小。 ⑷在“处理器”标签页上,可以对使用多处理器的环境指定一个专门处理 SQL 的处理器。 ⑸在“连接”标签页上,可以指定同时连接的最大用户数量,以及是否允许其他的 SQLServer 用户远程地连接到该服务器上。 ⑹在“服务器设置”标签页上,可指定用户使用的默认语言,是否允许直接对系统目录 进行修改,是否运行触发器嵌套等。 ⑺在“数据库设置”标签页上,可设置生成索引的方式,备份和恢复数据库时的等待时 间。 ⑻在“复制”标签页上,可以设置“发布和分发”选项,但必须先设置发布服务器和分 发服务器,点击“配置”进入配置发布和分发向导。 2.SQLServer2000 的安全配置服务 SQLserver2000 使用两层安全机制来确认用户的有效性,即身份验证和权限验证两个阶 段。 ⑴身份验证模式 Windows 认证:用户对 SQLserver 访问的控制由 Windows 账号或用户组完成,当进行连 接时,用户不需要提供 SQLserver 登陆账号。 SQLserver 认证:SQLserver 管理员必须建立 SQLserver 登陆账号和口令。当用户要连 接到 SQLserver 时,必须同时提供 SQLserver 的登陆账号和口令。 混合认证模式:两种模式同时工作,用户即能使用 Windows2000 认证模式又能使用 SQLServer 认证模式连接到 SQLServer 服务器。 ⑵权限验证 身份验证成功,连接到 SQLServer 数据库后,用户必须使用特定的用户账号才能对数据 库进行访问

SQLServer采取三个步骤来确认权限. ①当用户执行一项慢作时,例如用户执行了一条插入一条记录的指令,客户端将用户 T-SgL语句发给SqL.5emer. ②当S网Server接收到该命令语句后,立即检查该用户是否有执行这条指令的权限。 ③如果用户具备这个权限,S如Sver将完成相应的操作,如果用户没有这个权限, SqL5 erver系统将返回一个错误给用户. 24 SQLServer2000的客户端组作 在客户端/服务器结构中,用户不是直接访月SQLServer2000和SCLServer服务的,而 是通过运行在客户端的应用程序来访问数据。当然这些应用程序可能是用B、B等计算机 语言编写的软件,也可能是ASP、JS即网真等等,不管是用什么计算机语言编写的应川程序, 还是网页等,它们挥需要通过SqL5eer2000提侯的客户瑞组件才能连接上S0 Server服务 器,才能使用服务器中的数据和服务等。 SQl.Server2000的客户端组件包括: ()客户应用程序 它发出SqL请求语句,接收数据查询结果.5请求语句是使用SQLServer2000的主要 数据库查询和偏程语言Transact-SQL编写的数据库命令语句,客户应用程序正是通过数据 库应用程序接▣(数据库API)向SQLServer服务器发出SQL.请求命令. 客户端应川程序向服务端提交查询请求,并调用数据库PI传递此查询请求,数据库 API使用提供程序Provider)、数据库鬼动程序或动态蛙接库将查海封装在一个或多个表格 格式数据流(S)中,再将数据色传递给客户端网格程序库。 (2数据库PI (OLEDB,aDC) 使用数据库提供程序PrOv1der,至动程序成动志链接库米传递SL命◆语句并且接收 查询结果。 (客户端网洛程序库 管理网洛连接和客户端的路由。它能将数据库请求和服务器返日的结果打包,并通过适 当的网络协议传输。 客户端网络程序库将TS数据包封装在网络协议数据包里面,然后调用操作系统进程, 通过操作系统的网洛协议将网络协议数据包发送到服务署网洛程序库。 网络程序岸将TD5数据传递给SQLServer的开放式数据最务,至此完成了 SQLServer2000客户查过程的操作.对于在SQLServer客户痛操作以运日量务塔查询结
SQLServer 采取三个步骤来确认权限。 ①当用户执行一项操作时,例如用户执行了一条插入一条记录的指令,客户端将用户 T-SQL 语句发给 SQLServer。 ②当 SQLServer 接收到该命令语句后,立即检查该用户是否有执行这条指令的权限。 ③如果用户具备这个权限,SQLServer 将完成相应的操作,如果用户没有这个权限, SQLServer 系统将返回一个错误给用户。 2.4SQLServer2000 的客户端组件 在客户端/服务器结构中,用户不是直接访问 SQLServer2000 和 SQLServer 服务的,而 是通过运行在客户端的应用程序来访问数据。当然这些应用程序可能是用 VB、PB 等计算机 语言编写的软件,也可能是 ASP、JSP 网页等等。不管是用什么计算机语言编写的应用程序, 还是网页等,它们都需要通过 SQLServer2000 提供的客户端组件才能连接上 SQLServer 服务 器,才能使用服务器中的数据和服务等。 SQLServer2000 的客户端组件包括: ⑴客户应用程序 它发出 SQL 请求语句,接收数据查询结果。SQL 请求语句是使用 SQLServer2000 的主要 数据库查询和编程语言 Transact-SQL 编写的数据库命令语句。客户应用程序正是通过数据 库应用程序接口(数据库 API)向 SQLServer 服务器发出 SQL 请求命令。 客户端应用程序向服务端提交查询请求,并调用数据库 API 传递此查询请求,数据库 API 使用提供程序(Provider)、数据库驱动程序或动态链接库将查询封装在一个或多个表格 格式数据流(TDS)中,再将数据包传递给客户端网络程序库。 ⑵数据库 API(OLEDB,ODBC) 使用数据库提供程序(Provider),驱动程序或动态链接库来传递 SQL 命令语句并且接收 查询结果。 ⑶客户端网络程序库 管理网络连接和客户端的路由,它能将数据库请求和服务器返回的结果打包,并通过适 当的网络协议传输。 客户端网络程序库将 TDS 数据包封装在网络协议数据包里面,然后调用操作系统进程, 通过操作系统的网络协议将网络协议数据包发送到服务器网络程序库。 网络程 序库 将 TDS 数据 传递 给 SQLServer 的 开放 式数 据服 务, 至此 完成了 SQLServer2000 客户端查询过程的操作。对于在 SQLServer 客户端操作以返回服务器查询结

果的操作过程与执行查询过程利好相反。 25S9 Server2000客户端的操作 S0 LServer2000客户端的操作主要是使用查询分析器进行查询操作。 1.查询分断器的功能 查询分析器是一种图形工具,使用它可以进行以下操作: (I)创建查面和其他SL脚本,并针对SCLServer数据库执行它们],执行结果在结果窗格 中以文本或表格形式显示,还允许用户将执行的结果保存到报表文件中或导出到指定文件 中: (心利用核版板功隆。可以借助预定义本来快速创建数据库和数据库对象: ()利用对象到克器脚本功能,快速复制现有数据岸对象: ()在参数未如的情况下执行存储过程: ()调试存储过程1 们调试在询性能间题,包括显示执行计划、暴示服务器跟鉴、显示客户统计、索引优化 向导等: ()在数据库内定位对象(对象檀素功能》或查看和使用对象! )快速插入。更新或别除表中的行: 物为常用查询创建键盘快捷方式: 调向“工具”装单添加常用命令: 在查询分析器中,用户可以交互式地输入和执行各种Tasa心t-S0L语句,可以在一个 窗口中查看Transact-SgL语句和其结果集,既可月时执行多条Transact--5q.语句,也可执 :脚本文件中的富分语句:可图形化地显示执行计想,分析执行计划且提出建议。 2查询分析器的使用 (仙)查询分析器提供的窗口 ①“查诸”窗口 “查询”窗口的标题栏显示数据库服务器的名称、当前数据库的名称、当前登录名称和 查询名称。如果己将查询保存到文件,测显示此文件的完整路径。 “查询”窗口由多个窗格组成。单击某个窗格可使其成为活动窗格。此外,按SHFT+什书 健可在各窗格间移动。其中编辑窗格是一个文本编辑器,可以在这里输入Transact-SQl.语 句:结果窗格显示返国的结果集:消息窗格显示情误信息:执行计划窗格显示执行计划的图 形表示:跟踪窗格显示服务墨跟器信息:统计窗格是示统计信息
果的操作过程与执行查询过程刚好相反。 2.5SQLServer2000 客户端的操作 SQLServer2000 客户端的操作主要是使用查询分析器进行查询操作。 1.查询分析器的功能 查询分析器是一种图形工具,使用它可以进行以下操作: ⑴创建查询和其他 SQL 脚本,并针对 SQLServer 数据库执行它们,执行结果在结果窗格 中以文本或表格形式显示,还允许用户将执行的结果保存到报表文件中或导出到指定文件 中; ⑵利用模板功能,可以借助预定义脚本来快速创建数据库和数据库对象; ⑶利用对象浏览器脚本功能,快速复制现有数据库对象; ⑷在参数未知的情况下执行存储过程; ⑸调试存储过程; ⑹调试查询性能问题,包括显示执行计划、显示服务器跟踪、显示客户统计、索引优化 向导等; ⑺在数据库内定位对象(对象搜索功能)或查看和使用对象; ⑻快速插入、更新或删除表中的行; ⑼为常用查询创建键盘快捷方式; ⑽向“工具”菜单添加常用命令; 在查询分析器中,用户可以交互式地输入和执行各种 Transact-SQL 语句,可以在一个 窗口中查看 Transact-SQL 语句和其结果集,既可同时执行多条 Transact-SQL 语句,也可执 行脚本文件中的部分语句;可图形化地显示执行计划,分析执行计划且提出建议。 2.查询分析器的使用 ⑴查询分析器提供的窗口 ①“查询”窗口 “查询”窗口的标题栏显示数据库服务器的名称、当前数据库的名称、当前登录名称和 查询名称。如果已将查询保存到文件,则显示此文件的完整路径。 “查询”窗口由多个窗格组成。单击某个窗格可使其成为活动窗格。此外,按 SHIFT+F6 键可在各窗格间移动。其中编辑窗格是一个文本编辑器,可以在这里输入 Transact-SQL 语 句;结果窗格显示返回的结果集;消息窗格显示错误信息;执行计划窗格显示执行计划的图 形表示;跟踪窗格显示服务器跟踪信息;统计窗格显示统计信息