我们总是把SQL Server 这个单词挂在嘴边,也许很少有人思考过 SQL Server 到底是什么东西。这个问题很难用几句话讲清楚。我们之所以要用连载的方式讨论 SQL Server,就是要从不同的角度阐述这个问题。
一、服务器组件
SQL Server 2000由两个部分组成:服务器组件和客户端工具。
1.内容
SQL Server的服务器组件是以 Windows 服务(Windows Services)方式运行的。一般认为SQL Server包含四种Windows服务(这里我们关注OLTP、暂时不考虑 OLAP),分别是:MSSqlServer、DTCDistributed Transaction Coordinator、SQLServerAgent、Search Service。
MSSqlServer 是最常用的服务,一般的数据库功能都是由它提供的,例如文件管理、查询处理、数据存储等;DTC是分布式事务协调器,支持跨越两个或多个服务器的更新操作来保证事务的完整性;SQLServerAgent负责SQL Server 自动化工作,如果需要SQL Server 在指定时间执行某一个存储过程,就需要用到这个服务了;Search Service是全文查询服务,负责全文检索方面的工作。
2.一分为四的理由
现在我们知道了 SQL Server 的核心是四个服务器组件,它们是以 Windows 服务的形式运行的。聪明的读者也许会思考这样的问题:为什么服务器组件以 Windows 服务方式运行?为什么需要把完整的系统分割成四个服务器组件?
●之所以把SQL Server服务器组件作为Windows服务程序,主要是因为Windows 服务程序能够在用户没有登录的情况下使用。
●之所以把SQL Server的核心功能分为四个Windows 服务程序,主要是考虑了以下因素:这些Windows 服务程序各自负担的任务功能上是可分割的,这是前提条件;不是每个应用都需要使用四个服务所提供的所有功能,让用户有选择的关闭一些服务,无疑可以节省系统的资源,也可以节省用户花在管理上的精力;最后,分开成为多个服务程序,就可以为每一个服务设定操作系统级的安全策略。
二、客户端工具
SQL Server 2000 的核心是上文讨论的那些服务器组件,但用户直接接触的却不是它们(虽然真正干活的是它们),而是客户端工具。服务器组件是引擎,客户端工具是用户界面,两者是相辅相成的。
让我们看看SQL Server 2000 的客户端工具到底有哪些——企业管理器、查询分析器、事件探查器、服务管理器、客户端网络实用工具、服务器网络实用工具、导入和导出数据(DTS)等等。
服务器组件与客户端工具功能上是配套的,客户端工具需要用最简单的形式表达最丰富的服务器组件的功能;服务器组件和客户端工具物理上是离散的,说句大白话:它们不是同一个程序!客户端工具要与服务器组件连通,需要一些用于通讯的动态链接库,SQL Server 2000 的通讯库支持多种网络协议,例如TCP/IP、命名管道等。
说到这里问题就很清楚了:只要客户端工具与服务器组件与功能上是配套(兼容)的,就可以通过一定的协议连接,所以我们只要在自己的机器上装一套客户端工具,就可以连接世界各地的SQL Server 服务器,当然这需要对方开放足够的权限。
提示:安装 SQL Server 2000 实际上就是安装服务器组件和客户端工具。当然,我们可以选择同时安装服务器组件和客户端工具,或者只安装其中的一个,甚至只选择安装更少的东西。
三、版本问题
SQL Server 2000有很多版本:企业版、开发版、标准版、个人版等。每一个版本包含的客户端工具基本上是一样的,而服务器组件可能有些不同。所以在安装 SQL Server 之前必须参考“操作系统和SQL Server”版本兼容表(图1),根据操作系统选择合适的 SQL Server 版本。
图1
四、关于实例
在开始安装SQL Server之前,还有一个概念需要讲解,那就是SQL Server实例。前文我们提到SQL Server服务器组件是由四个Windows 服务程序构成,在实践中我们可能安装所有的服务器组件,也可能只安装其中的一部分,但是我们都需要一个统一的概念来标志一组SQL Server 服务,这个概念就是SQL Server 实例。
提示:可以这样理解,安装SQL Server 服务器组件,就是创建一个新的SQL Server 实例(当然也可能是在原有实例中增减服务组件)。SQL Server 2000 允许在同一个操作系统中创建多个实例,虽然一般情况下我们不会这么做。
●如果只安装一个 SQL Server 实例,不需要在SQL Server安装时指定实例名称,自动使用默认名称。那么在Windows域里计算机的名称就是 SQL Server 实例的名称;使用TCP/IP协议连接SQL Server 实例时,可以用IP地址表示SQL Server 2000实例。
●如果一个操作系统中安装了多个SQL Server 2000的实例,则需要在SQL Server安装时指定实例名称。
在Windows域里可以用“计算机名称\实例名称”的形式标志SQL Server 2000实例;使用TCP/IP协议连接SQL Server 实例时,可以用“IP地址\实例名称”表示SQL Server 2000实例。
五、安装实战
SQL Server 2000的安装程序是非常智能化的,基本上用户只需要跟着提示,选择默认项。下面笔者挑选一些需要注意的设定画面进行讲解。
●选择“创建新的SQL Server实例……”,如图2:
●选择安装“服务器和客户端工具”,如图3:
●为服务设定启动方式,这里有两个服务,分别是SQL Server和SQL Server 代理。其实就是前文提到的MSSqlServer和SQLServerAgent。这里我们操作系统以“本地系统账户”启动它们,如图4:
●选择“混合模式”进行身份验证,如图5:
六、一窥芳容
安装完毕,你肯定迫不及待地要领略它的风采。不要着急,让我们先确认数据库服务器是否已经启动。前文我们提到SQL Server 2000核心是由四个服务器组件构成的,其中提供数据库服务的就是 MSSqlServer,现在我们就是要确认它是否已经启动。
1.服务管理器
●在“服务器”栏选择本机 SQL Server 实例的名称;
●在“服务”栏选择SQL Server(就是上文的MSSqlServer);
●按下“开始/继续”按钮,启动 MSSqlServer 服务;
●正常启动:
2.企业管理器
打开“企业管理器”,展开数据库本机SQL Server 实例节点的数据库项目,可以发现SQL Server 已经自动安装了六个数据库。
●master数据库记录SQL Server系统的所有系统级别信息。
●tempdb数据库保存所有的临时表和临时存储过程。
●model数据库是为用户创建数据库提供的模板。
●msdb数据库供SQL Server代理程序调度警报和作业以及记录各种操作。
●northwind和pubs是示例数据库,以后我们要经常利用它们做演示。
除了 northwind和 pubs之外,其他四个数据库都是由 SQL Server 自行维护的,一般不需要用户干预。