我们总是把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 自行维护的,一般不需要用户干预。
新闻热点
疑难解答