SQL Server 2000简明管理手册 张立东 李永阔 2001年 60期 一直以来数据库就是计算机系统应用的重要组成部分,在几年前数据库还是Oracle、DB2的天下,但随着微软数据库SQL的推出,微软的数据库平台也渐渐的得到了人们的认可,从最开始流行起来的SQL6.5、SQL7.0到现在最新推出的SQL2000,微软的数据库平台以其易用性、易操作性受到了广大用户的青睐。    SQL2000一惯地沿袭了SQL7.0的易操作性、易应用性,有数据库基本知识的初学者都可以简单的上手。从SQL2000的安装、数据库建立直到数据库维护都可以通过图形界面和向导程序完成,这使得SQL2000逐渐的成为初学者学习企业级数据库产品首选。    SQL2000是企业进行大量数据存储、检索、更新的重要系统。它担负着企业内部重要数据的处理,这种操作对数据库的稳定性、效率要求都很高。随着SQL 2000不断的发展完善已经在企业的数据处理应用中取得了非常重要的位置。    SQL2000同其他企业级数据库一样具有数据库管理图形工具,数据库引擎,完备的帮助系统,数据导入倒出,客户端使用的测试、分析、服务器网络使用工具、客户端使用工具等,而且还包括在IIS 中配置SQL XML的支持。    相比SQL7.0,SQL2000 增加了很多新特性:    XML支持:SQL2000最吸引人的新特性应该是对XML的支持。随着电子商务的发展,XML在电子商务方面的应用越来越得到了人们的重视,那么数据库对XML的支持也就成了衡量一个数据库好坏的标准。    SQL2000可以从关系性数据库中返回XML格式的数据。另外也支持XML格式数据在关系性数据库中的更新和删除操作。另外SQL2000通过和IIS的结合可以直接通过URL对SQL2000中的数据进行增、删、改操作。SQL2000的存储过程中也同样支持对XML数据的处理。可以使用HTTP、ADO、OLE DB处理SQL2000的XML功能。这些新增加的特性完全可以满足,电子商务或其他系统对XML数据处理的需求。    图形管理功能增强:SQL2000对日志传送、SQL事件探查器、SQL查询分析器、复制数据库向导的图形功能进行了增强。这些增强的图形功能,使得对SQL语句的调试,SQL事件的分析都变得更加容易也更加方便。    数据转换服务增强:新的自定义任务、增强的日志设备、将DTS包保存到Visusl Baisic文件中等。这些新增加的功能可以非常方便的操作SQL2000数据的数据包,也方便了VB程序员的开发工作。    这些新特性不仅仅是增强了SQL的功能,也让广大用户数据库管理更为方便,好啦,下面我们开始真正的旅程吧。      #1 一、 安装与注册    (一)安装    SQL2000可以分为三个版本:企业版、标准版和个人版。这三个版本的安装基本相似没有太大的区别,下面以SQL2000企业版为例,对安装中常遇到的一些问题做一个简单的介绍:    1.把SQL2000的安装盘放到光驱以后,系统会自动运行一个安装程序,如果光盘没有启动安装程序,可以手工运行autorun.exe文件执行安装程序。    2.在安装程序的第一个界面中有:安装SQL 2000 Server组件,安装SQL 2000 Server的先决条件,浏览安装/升级帮助,阅读发布说明和访问我们的web站点。选择安装SQL 2000 Server 组件的选项。    3.进入下一个安装选项,其中有安装数据库服务器,安装Analysis Service,安装English query三个选项,选择安装数据库服务器选项。    4.选择以后就进入真正的安装界面了,在选择下一步以后会出现一个把服务安装到哪个计算机的一个设置界面,可以使用缺省选项本地计算机,然后下一步。    5.进入到安装选项界面,使用缺省选项创建新的SQL Server实例,或安装“客户端工具”,然后下一步。    6.输入公司名称和使用者名称以后会进入到一个安装定义的界面,使用缺省选项服务器和客户端工具,选择下一步。    7.进入到安装类型选择界面,使用缺省选项典型安装。然后选择下一步。    8.进入到服务器账户配置界面,账户的选择和配置是一个非常重要的步骤,因为它直接决定了SQL Server的启动账号和访问账号。在这里还是使用缺省的系统设置。缺省的系统设置中账号模式使用的是:对每个服务器使用同一个账号,自动启动SQL Server服务。在服务设置中使用的是:使用域用户账户。系统会自动的把登录计算机的的用户名和域名列出来,在这里一定要确定系统列出的账户有系统管理员的权限,如果没有可以输入一个拥有系统管理员权限的账户,然后输入密码,注意密码输入的准确性,然后进行下一步操作。    9.进入身份验证模式界面,这里也可以使用缺省的Windows身份验证模式。    10.经过这样一翻痛苦的设置以后终于进入到了文件复制的过程,文件复制结束以安装就完成了。    (二)注册    在我们安装完数据库以后就可以通过开始->程序->Microsoft SQL server->企业管理器进入到SQL Server的管理界面。SQL Server的管理界面也是使用了微软的典型管理工具MMC进行管理。    SQL Server管理控制台可以分组管理多个SQL 引擎,每个SQL Server又可以管理多个数据库。当我们第一次进入到SQL Server企业管理以后可以看到有一个名称为SQL Server组的SQL Server管理组,并且在组的下面有一个名称和所在计算机同名的SQL Server。    在SQL Server组的上面点击鼠标右键在弹出的菜单中有几个重要的功能:新建SQL Server注册,新建SQL Server组,重命名SQL Server组。其中新建SQL Server组和重命名SQL Server组比较简单,读者可以自行操作,我这里重点介绍一下SQL Server的注册:    进入SQL Server注册的对话框以后,需要首先输入一个要注册的服务器名称也就是安装有SQL Server的计算机名称,也可以通过右面的按钮在整个网络上选择计算机。然后选择验证方式,可以选择使用Windows身份验证,也就是使用目前登陆Windows的用户账号进行验证。也可以选择使用SQL Server身份验证,使用SQL Server验证需要输入所要注册的SQL Server的用户名和密码。按照本文中SQL Server安装方式安装的数据库需要使用Windows身份验证。有关数据库注册的验证方式可以在数据库的设置中进行更改。   #1 二、SQL2000数据库的基本操作    1.创建数据库文件    创建数据库有两种方式:    一种方式是利用微软的MMC提供的可视化的工具来创建,又方便又快捷;另一种方式是使用Transact-SQL来创建,比较麻烦,在此不作讲述,有兴趣的可以察看微软提供的T-SQL联机文档。    下面就以用MMC提供的可视化的工具为例来创建数据库。    能创建数据库的只有两个角色(Role),一个是sysadmin,一个是dbcreator。    首先,我们登陆MMC控制台必须是以上两种角色之一,然后再用右键点击数据库,弹出一个菜单条中有一个创建数据库的选项,点击后弹出一个对话框(^60090207a^),可以直接在名称的选项里填写数据库的名字,SQL2000缺省的数据库是可以自增长的数据库,而不用象许多数据库一样,创建数据库的话还需要创建数据库设备,而数据库的存储是以文件存放的,我们也可以看到此对话框有一个数据文件的标签,如下图,一个数据库可以使用多个文件,但必须有一个文件是主文件(Primary)“.mdf”,其余的文件组是“.ndf”,而SQL2000是先按照文件的大小比例把数据放入各个文件中去,如果文件的空间不够,那么,数据库将自动的循环把文件扩展。(^60090207b^)    事务日志是用来灾难恢复的,一般来讲用不着,但也必须有,而且事务日志和数据库文件都是独立的文件,事务日志文件后缀名是“.ldf”。    然后点击“确定”后,就产生了我们的第一个数据库了,这时到相应的目录也可以看到我们创建的数据库文件了。    2.修改数据库    数据库创建后,我们可以更改它的大小、日志文件、数据库的所有者等,甚至可以更改数据库的名字。    SQL2000数据库根据定义时的参数自动扩充,如果数据库文件空间已经满了,就需要扩充数据库或增加数据文件,如果数据库用完了所给的空间后,没有被扩充的话会报错。    点击右键在要增大或收缩的数据库上,点击“所有任务”可以看到有一个“收缩数据库”的命令,点击会弹出一个收缩数据库的对话框,在“收缩后文件中的最大可用空间”中输入收缩后数据库中剩余的可用空间量。以“数据库大小,可用空间”值作为依据,也可以设置成为自动收缩,缺省即是自动的。    点击右键弹出的菜单上还有一个“属性”,点击后也会弹出一个对话框(^60090207c^)    在“数据文件”选项里,可以输入文件的大小或增加文件,如图所显示的,并点击所有要修改的单元格,填入要修改的内容即可。一般来讲数据库文件增大后,日志文件会自动增大。    3.删除数据库    删除数据库的时候最好从MMC处删除,或者使用T-SQL删除,如果直接删除数据库文件的话,也必须是在SQL2000停止运行后,但是这样做的话,Master表没有被清除,这种行为是不提倡的。使用MMC删除数据库,点击右键在被删除数据库,弹出的菜单中有一个删除命令,如果当时正有人使用的话,也是不能被删除的,如果没有人使用即被删除.    但有一个Master数据库是不能随意删除的,因为Master数据库是系统数据库,存放了所有的系统信息。   #1 三、SQL2000数据库的维护    1.数据库备份    数据库备份是数据库非常重要的一项操作,这也是为了保证数据库在损坏后可以迅速的恢复正常,在SQL2000里数据库有两种备份模式,一种是完全备份,一种是差异备份,完全备份等于是创建一个在当时的数据库的副本,速度慢而且占资源。差异备份则是记录数据库上次备份后更改的数据,速度快且少占资源,并可以还原每一次备份时的现场。    当点击右键要备份的数据库时,弹出菜单选择“所有任务”,然后点击“数据库备份”会弹出一个对话框,如图:   (^60090207d^)请注意划了圈的地方,这些都是影响备份结果的地方。    (1)左上方有对数据库、日志、文件这些备份方式的选择,数据库的备份方式在上面已经说过了,而事务日志的备份是自上次备份事务日志后对数据库执行的所有事务的一系列记录。可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点,文件和文件组的备份可以备份和还原数据库中的个别文件。    (2)右面则是选择要备份的文件名,并选择要备份的位置,也可以删除已备份的文件。    (3)左下方是对已有备份文件的操作方式。如果备份文件已经存在,可以追加数据,也可以重新写整个数据文件。   选择好备份方式后点击“确定”按钮即可看到一个状态条告诉我们备份成功。    2.复制数据库    复制数据库有几种方式,一种是复制备份的数据库文件,一种就是比较特殊但是使用非常少的情况,直接把数据库拷贝到相应的数据库服务器存放数据库文件处,然后折腾一番就可以使了,还有一种情况使用微软提供的DTS(Data Translate Service)数据转换服务来在不同的数据库甚至是数据文件之间转换。    第一种复制备份的数据库文件,在上面已经说过了,在此再提一下,如果给这个数据库建立了使用用户,还原数据库时会有些问题,需要重新建这个用户,否则连不上数据库。    第二种属于暴力行为,不值得提倡的,当然也有这样用的,就是把数据文件和日志文件从一台机器直接拷贝的数据库安装的数据文件处,当然前提条件就是必须把数据库服务停止,而且数据库已经被建立,然后再把旧的数据文件替换掉,这样再重建一个用户就可以用了,似乎简单一些,但是数据库必须被停止才能这样做,所以不值得提倡。    第三种是功能极其强大的一项操作,它提供我们可以把数据库文件转换成文本文件以及Access 等各种可以支持的数据库文件,而且还可以传输索引、视图、登录、存储过程、触发器、规则、默认值、约束,以及用户定义数据类型。另外,还可以生成脚本以复制数据库对象。    如图,先点击右键在要复制的数据库,弹出的菜单选中“所有任务”,在点击“导入数或导出数据”,就会出现下面的数据框:(^60090207e^)    数据源的选择,可以是多种数据源,如图:(^60090207f^)    在选择好正确的数据源以后就可以按照向导选择目标数据源了,再到下一步,然后出现下图:(^60090207g^)   有三种复制数据的方式:    “从源数据库复制表和视图”一般是针对数据源和目标之间有一个不是SQL2000的数据库。    “用一条查询指定要传输的数据”,则是使用有选择的语句来把数据查询出来再传输到所选的数据源。    “在SQL Server数据库之间复制对象和数据”,是在SQL Server的数据库之间传递,可以把SQL Server的数据库完全导入另一台SQL Server服务器,甚至把自增型的数据也一样。    3.数据库恢复    既然有了备份当然就会有数据库的恢复,而且,当产生故障的时候,更是迫切需要恢复数据到产生故障的时刻,在SQL2000的恢复数据库的模式有三种    (1)简单恢复;这种恢复模式是SQL2000默认的恢复模式,可以把数据恢复到最近备份的时间点上。不过如果还是恢复不到产生故障的时刻,就需要选择完全恢复和日志恢复。    (2)完全恢复模型是使用数据库备份和事务日志备份提供对媒体故障的完全防范。如果一个或多个数据文件损坏,则数据恢复可以还原所有已提交的事务。正在进行的事务将回滚。 完全恢复提供将数据库恢复到故障点或特定即时点的能力。为保证这种恢复程度,包括大容量操作(如 SELECT INTO、CREATE INDEX 和大容量装载数据)在内的所有操作都将完整地记入日志。    (3)日志恢复则是对数据库文件出现问题等一些时刻的数据没有备份等的恢复,而有些操作如“select into”等这些操作容易丢失数据。    具体操作是,点击右键在要恢复的数据库上,选择“所有任务”,点击“还原数据库”,弹出如下图的对话框:    (^60090207h^)    选择要恢复的数据备份文件,即可以恢复,如果是在另一台数据库服务器的话,就需要选择从设备恢复了,   (^60090207i^),是不是看到很熟悉的地方了,这和我们备份的数据库的时候差不多,需要注意的是怎么备份怎么恢复。    从选择设备处选择数据库备份的文件,输入需要还原的数据库名,一般来讲就可以还原了,有一种情况需要作一些改动,就是两台机器装SQL2000的路径是不同的话,直接恢复会出问题,需要去选项里修改文件的路径,改成要恢复的数据库服务器的数据库路径,然后再恢复就没有问题了。    通过对上面内容的基本介绍,读者对SQL 2000应该已经有了一个基本的认识,并且可以进行简单的使用,包括:SQL 2000的安装、数据库的管理、表的建立、备份、恢复等等。但本篇文章只是对SQL 2000做了一个最基本的介绍,如果您想对SQL 2000进行更多的了解或者想利用SQL 2000进行工程项目的开发,可以参看SQL 2000自带的在线帮助。