第21章 SQL Server 数据库服务.docx
- 文档编号:23708146
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:51
- 大小:1.50MB
第21章 SQL Server 数据库服务.docx
《第21章 SQL Server 数据库服务.docx》由会员分享,可在线阅读,更多相关《第21章 SQL Server 数据库服务.docx(51页珍藏版)》请在冰豆网上搜索。
第21章SQLServer数据库服务
第21章SQLServer2000数据库服务
对于SQLServer2000来说,是微软产品线中非常重要的产品。
它的的版本包括企业版、标准版、个人版、开发版和评估版四个版本:
●SQLServer2000企业版
●SQLServer2000标准版
●SQLServer2000个人版
●SQLServer2000开发版
在本章我们主要介绍SQLServer2000企业版,当然作为微软推出的重量级的后台数据库产品,在本章一章的篇幅中是不可能介绍得很详细,我们只能简单介绍一些SQLServer2000企业版作为一个网络管理员应该掌握的使用方法,也就是介绍如何管理SQLServer2000数据库。
如果希望对SQLServer2000有更深入的了解,可以参考专门介绍SQLServer2000的相关书籍。
21.1安装SQLServer2000
21.1.1案例:
安装SQLServer2000
使用MicrosoftSQLServer2000,可以选择在一台计算机上安装SQLServer的多个复本或多个实例。
当一台计算机安装有多个SQLServer2000实例时就出现多实例。
每个实例的操作都与同一台计算机上的其它任何实例分开,而应用程序可以连接任何实例。
在单台计算机上可以运行的实例数目取决于可用资源。
SQLServer2000最多支持16个实例。
1.在光驱中放入SQLServer2000的安装光盘,光盘自动运行后弹出SQLServer2000安装界面,如图21-1。
图21-1安装界面
2.单击选择界面中的“安装SQLServer2000组件”,弹出SQLServer2000安装组件界面,如图21-2
图21-2安装界面
3.单击选择“安装数据库服务器”,弹出一个警告信息,如图21-3。
单击“继续”。
图21-3警告信息
4.弹出SQLServer2000安装向导,如图21-4,单击“下一步”。
图21-4SQLServer2000安装向导
5.弹出选择创建的数据库的计算机位置,如图21-5。
选择本地计算机,单击“下一步”。
图21-5SQLServer2000安装向导
6.在弹出的窗口重选择“创建新的SQLServer实例,或安装客户端工具”,单击“下一步”。
如图21-6。
图21-6SQLServer2000安装向导
7.在弹出窗口重输入信息,单击“下一步”,如图21-7。
图21-7SQLServer2000安装向导
8.在弹出的“软件许可证协议”窗口中单击“是”按钮。
如图21-8。
图21-8许可协议
9.在弹出的窗口中选择“服务器和客户端工具”,单击“下一步”,如图21-9。
图21-9SQLServer2000安装向导
10.在弹出窗口中选择“默认”,单击“下一步”,如图21-10。
图21-10SQLServer2000安装向导
通过清除"实例名"对话框的"默认"选项,也可以选择将SQLServer2000安装为命名实例。
SQLServer的默认实例。
此实例由运行它的计算机的网络名称标识。
使用以前版本SQLServer客户端软件的应用程序可以连接到默认实例。
SQLServer6.5版或SQLServer7.0版服务器可作为默认实例操作。
但是,一台计算机上每次只能有一个版本作为默认实例运行。
SQLServer的命名实例。
该实例通过计算机的网络名称加上实例名称以<计算机名称>\<实例名称>格式进行标识。
应用程序必须使用SQLServer2000客户端组件连接到命名实例。
计算机可以同时运行任意数目的SQLServer命名实例。
同时,命名实例还可作为现有的SQLServer6.5版或SQLServer7.0版安装运行。
该实例名不能超过16个字符。
新实例名称必须以字母、"和"符号(&)或下划线(_)开头,可以包含数字、字母或其它字符。
SQLServer系统名称和保留名称不能用作实例名称。
例如,"default"一词不能用作实例名称,因为它是安装程序使用的保留名称。
11.采用默认安装类型,单击“下一步”,如图21-11。
图21-11SQLServer2000安装向导
12.在弹出的服务帐号窗口中选择“使用域用户帐户”,单击“下一步”。
如图21-12。
图21-12SQLServer2000安装向导
13.弹出选择身份验证模式窗口,我们采用默认的“Windows身份验证模式”,如图21-13。
图21-13SQLServer2000安装向导
14.在弹出窗口中单击“下一步”,弹出许可模式选择窗口,如图21-14,选择你所购买的许可模式,输入购买的数量,单击“继续”按钮。
图21-14许可模式
16.SQLServer2000安装开始,经过一段时间后,弹出安装完成的界面,如图21-15。
单击“完成”按钮,完成SQLServer2000安装。
图21-16完成
17.安装SQLServer2000的补丁包,我们安装的是SP3。
18.启动SQLServer2000服务。
21.1.2启动、暂停和停止SQLServer
登录到Microsoft®SQLServer®实例前,需要知道如何启动、暂停和停止SQLServer实例。
登录成功之后,便可执行各种任务,如管理服务器或查询数据库。
默认情况下安装完毕后重新启动计算机,SQLServer服务自动启动。
如果没有启动,可以采用如下的方式启动:
1.在任务栏右侧,在SQL图标上单击鼠标右键,如图21-17。
选择启动、暂停和停止SQLServer。
图21-17启动、暂停和停止SQLServer
2.如果是双击SQL图标,将弹出“SQLServer服务管理器”上实现启动、暂停和停止SQLServer服务,如图21-18。
图21-18SQLServer服务管理器
21.2配置SQLServer2000服务器
对于SQLServer2000来说,配置SQLServer2000服务器的方式有很多种,但对于网络管理员来说主要是通过SQLServer2000企业管理器来配置SQLServer2000服务器。
21.2.1使用SQLServer2000企业管理器
1.单击“开始”→“程序”→“MicrosoftSQLServer”→“企业管理器”,打开MicrosoftSQLServer2000的企业管理器。
图21-19企业管理器
2.在此可以对SQLServer服务器进行配置。
21.2.1管理SQLServer的安全
在MicrosoftSQLServer中工作时,用户要经过两个安全性阶段:
身份验证和授权(权限验证)。
授权阶段使用登录帐户标识用户并只验证用户连接SQLServer实例的能力。
如果身份验证成功,用户即可连接到SQLServer实例。
然后用户需要访问服务器上数据库的权限,为此需授予每个数据库中映射到用户登录的帐户访问权限。
权限验证阶段控制用户在SQLServer数据库中所允许进行的活动。
MicrosoftSQLServer可以在两种安全(身份验证)模式之一下工作:
●Windows身份验证模式(Windows身份验证)——Windows身份验证模式使用户得以通过MicrosoftWindows用户帐户进行连接。
●混合模式(Windows身份验证和SQLServer身份验证)——混合模式使用户得以使用Windows身份验证或SQLServer身份验证与SQLServer实例连接。
提供SQLServer身份验证是为了兼容SQLServer以前的版本。
案例:
设置身份验证模式
1.展开服务器组。
右击服务器,再单击“属性”。
如图21-20。
图21-20服务器属性
2.在弹出的“SQLServer属性(配置)-(local)”页面中单击“安全性”选项卡,如图21-21,在此可以设置MicrosoftSQLServer服务器的身份验证方式。
图21-21安全性设置
3.在“身份验证”栏中,通过单击“SQLServer和Windows”或“仅Windows”。
选择其身份验证方式。
4.在“审核级别”中选择在SQLServer错误日志中记录的用户访问MicrosoftSQLServer的级别:
“无”表示不执行审核。
“成功”表示只审核成功的登录尝试。
“失败”表示只审核失败的登录尝试。
“全部”表示审核成功的和失败的登录尝试。
5.设置完毕,单击“确定”,完成身份验证模式设置。
固定服务器角色
在SQLServer2000服务器中,有服务器自带的固定服务器角色,若要将用户添加到固定服务器角色,用户必须具有SQLServer或MicrosoftWindows登录帐户。
固定服务器角色的任何成员都可以添加其它登录。
身为BUILTIN\Administrators组成员的Windows用户自动成为sysadmin固定服务器角色成员。
下表描述固定服务器角色。
固定服务器角色
描述
Sysadmin
在SQLServer中进行任何活动。
该角色的权限跨越所有其它固定服务器角色。
Serveradmin
配置服务器范围的设置。
Setupadmin
添加和删除链接服务器,并执行某些系统存储过程(如sp_serveroption)。
Securityadmin
管理服务器登录。
Processadmin
管理在SQLServer实例中运行的进程。
Dbcreator
创建和改变数据库。
Diskadmin
管理磁盘文件。
Bulkadmin
执行BULKINSERT语句。
固定数据库角色
在数据库级别上定义了固定数据库角色,并存在于每个数据库中。
可将任何有效的用户帐户添加为固定数据库角色成员。
每个成员都获得应用于固定数据库角色的权限。
固定数据库角色的任何成员都可将其他用户添加到角色中。
下表描述固定数据库角色。
固定数据库角色
描述
db_owner
进行所有数据库角色的活动,以及数据库中的其它维护和配置活动。
该角色的权限跨越所有其它固定数据库角色。
db_accessadmin
在数据库中添加或删除WindowsNT4.0或Windows2000组和用户以及SQLServer用户。
db_datareader
查看来自数据库中所有用户表的全部数据。
db_datawriter
添加、更改或删除来自数据库中所有用户表的数据。
db_ddladmin
添加、修改或除去数据库中的对象(运行所有DDL)。
db_securityadmin
管理SQLServer2000数据库角色的角色和成员,并管理数据库中的语句和对象权限。
db_backupoperator
有备份数据库的权限。
db_denydatareader
拒绝选择数据库数据的权限。
db_denydatawriter
拒绝更改数据库数据的权限。
数据库管理权限
用户若要进行任何涉及更改数据库定义或访问数据的活动,则必须有相应的权限。
管理权限包括授予或废除执行以下活动的用户权限:
●处理数据和执行过程(对象权限)。
●创建数据库或数据库中的项目(语句权限)。
●利用授予预定义角色的权限(暗示性权限)。
一、对象权限
处理数据或执行过程时需要称为对象权限的权限类别:
●SELECT、INSERT、UPDATE和DELETE语句权限,它们可以应用到整个表或视图中。
●SELECT和UPDATE语句权限,它们可以有选择性地应用到表或视图中的单个列上。
●SELECT权限,它们可以应用到用户定义函数。
●INSERT和DELETE语句权限,它们会影响整行,因此只可以应用到表或视图中,而不能应用到单个列上。
●EXECUTE语句权限,它们可以影响存储过程和函数。
二、语句权限
创建数据库或数据库中的项(如表或存储过程)所涉及的活动要求另一类称为语句权限的权限。
例如,如果用户必须能够在数据库中创建表,则应该向该用户授予CREATETABLE语句权限。
语句权限(如CREATEDATABASE)适用于语句自身,而不适用于数据库中定义的特定对象。
语句权限有:
●BACKUPDATABASE
●BACKUPLOG
●CREATEDATABASE
●CREATEDEFAULT
●CREATEFUNCTION
●CREATEPROCEDURE
●CREATERULE
●CREATETABLE
●CREATEVIEW
三、暗示性权限
暗示性权限控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。
例如,sysadmin固定服务器角色成员自动继承在SQLServer安装中进行操作或查看的全部权限。
数据库对象所有者还有暗示性权限,可以对所拥有的对象执行一切活动。
例如,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。
解决权限冲突
授予组或角色的权限由该组或角色的成员继承。
虽然用户可能在一个级别上授予或废除权限,但如果这些权限与更高级别上的权限发生冲突(例如因角色成员资格引起冲突),则可能会禁止或允许用户访问对象。
一、拒绝
拒绝权限始终优先。
在任何级别(用户、组或角色)的拒绝权限都拒绝该对象上的权限,无论该用户现有的权限是已授予权限还是已废除权限。
例如,如果用户John为sales角色成员,而该角色被授予customer表上的SELECT权限,但John被显式拒绝customer表上的SELECT权限,则他不能再访问该表。
类似地,如果sales角色被拒绝了对customer的访问权限,但John被授予访问权限,则其访问将被拒绝。
说明MicrosoftSQLServer总是首先处理被拒绝的权限。
如果对public拒绝权限,则将禁止任何用户访问对象,包括发出DENY语句的用户。
二、废除
废除权限只删除所废除级别(用户、组或角色)上的已授予权限或已拒绝权限。
而在另一级别(如包含该用户、组或角色的组或角色)上所授予或拒绝的同一权限仍然适用。
例如,如果sales角色被授予customer表上的SELECT权限,而John(sales角色成员)被显式废除customer表上的SELECT权限,则John仍可以访问该表,因为他有sales角色的成员资格。
若要防止John访问customer表,则需要执行下列操作之一:
废除权限(假定没有在别处授予其它权限)。
或者拒绝sales角色的权限(防止所有sales成员访问该表)。
三、授权
授予权限删除所授予级别(用户、组或角色)上的已拒绝权限或已废除权限。
而在另一级别(如包含该用户的组或角色)上所拒绝的同一权限仍然适用。
但是,虽然在另一级别上所废除的同一权限仍然适用,但它并不阻止用户访问该对象。
例如,如果John已被显式拒绝customer表的访问权限,sales表被废除访问权限,然后向John显式授予customer上的访问权限,则他现在可以访问customer,因为拒绝已被删除。
对sales的废除权限和对John的授予权限相结合使得最后对John授予权限。
因此,用户得到的是对象上所授予、拒绝或废除的全部权限的并集,其中拒绝权限比另一级别上授予或撤消的同一权限优先。
案例:
指派sa密码
安装MicrosoftSQLServer时,SQLServer安装程序不给sa登录指派密码。
可以在安装完服务器后给sa指派密码。
如果将服务器安全性设置为混合模式,应指派sa密码。
如果将服务器设置为Windows身份验证模式,则不需要sa密码,因为sa是SQLServer登录。
第一次登录到SQLServer实例时,请使用sa作为登录标识并且不使用密码。
在登录之后,请更改sa密码以防止其他用户使用sa权限。
说明:
必须先注册服务器以使用SQLServer企业管理器,才能更改sa密码。
指派sa密码的操作过程如下:
1.展开服务器组,然后展开服务器。
2.展开“安全性”,再单击“登录”。
在详细信息窗格中,右击“sa”,然后单击“属性”命令。
如图21-22,或者双击“sa”。
图21-22sa属性
1.在弹出的窗口中的“密码”框中,输入新密码,如图21-23。
图21-23输入密码
案例:
授权用户登录访问SQLServer的方法(企业管理器)
1.展开服务器组,然后展开服务器。
2.展开“安全性”,右击“登录”,然后单击“新建登录”。
如图21-24。
图21-24新建登录
3.如果在“身份验证”下,单击“Windows身份验证”。
那么在“名称”框中,要求输入要被授权访问MicrosoftSQLServer的用户是MicrosoftWindows帐户(以DOMAIN\User的形式)。
如图21-25。
图21-25windows身份验证
4.如果在“身份验证”下选择的是“SQLServer身份验证”,则直接在“名称”栏中输入SQLServer用户的名称,如图21-26。
图21-26SQLServer身份验证
5.在“数据库”中,单击用户在登录到SQLServer实例后所连接的默认数据库。
6.在“语言”中,单击显示给用户的信息所用的默认语言。
然后单击“确定”,完成用户登录的设置。
我们就可以看到新建的登录,如图21-27。
图21-27登录设置
21.3数据库的创建、配置和删除
21.3.1数据库相关名词简介
在MicrosoftSQLServer2000中,数据库由存储特定结构化数据集的表集合组成。
在MicrosoftSQLServer2000中,数据库由包含数据的表集合和其它对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。
存储在数据库中的数据通常与特定的主题或过程(如生产仓库的库存信息)相关。
SQLServer能够支持许多数据库。
每个数据库可以存储来自其它数据库的相关或不相关数据。
例如,服务器可以有一个数据库存储职员数据,另一个数据库存储与产品相关的数据。
另一种方案是,一个数据库可以存储当前客户的订单数据,而另一个相关的数据库可以存储用于年度报告的历史客户订单。
文件和文件组
MicrosoftSQLServer2000使用一组操作系统文件映射数据库。
数据库中的所有数据和对象(如表、存储过程、触发器和视图)都存储在下列操作系统文件中:
主要——该文件包含数据库的启动信息,并用于存储数据。
每个数据库都有一个主要数据文件。
次要——这些文件含有不能置于主要数据文件中的所有数据。
如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。
有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。
事务日志——这些文件包含用于恢复数据库的日志信息。
每个数据库都必须至少有一个日志文件。
例如,创建简单的数据库sales时,可以只使用一个包含所有数据和对象的主文件和一个包含事务日志信息的日志文件。
另一种情况是,创建更复杂的数据库orders时,可以使用一个主文件和五个辅助文件,数据库内的数据和对象扩展到所有的六个文件中,另外有四个日志文件包含事务日志信息。
文件组允许对文件进行分组,以便于管理和数据的分配/放置。
例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf、Data2.ndf和Data3.ndf),并将这三个文件指派到文件组fgroup1中。
然后,可以明确地在文件组fgroup1上创建一个表。
对表中数据的查询将分散到三个磁盘上,因而性能得以提高。
在RAID(独立磁盘冗余阵列)条带集上创建单个文件也可以获得相同的性能改善。
然而,文件和文件组使您得以在新磁盘上轻易地添加新文件。
另外,如果数据库超过单个MicrosoftWindowsNT®文件的最大大小,则可以使用次要数据文件允许数据库继续增长。
文件和文件组的设计规则
文件和文件组的设计规则包括:
文件或文件组不能由一个以上的数据库使用。
例如,文件sales.mdf和sales.ndf包含sales数据库中的数据和对象,任何其它数据库都不能使用这两个文件。
文件只能是一个文件组的成员。
数据和事务日志信息不能属于同一文件或文件组。
事务日志文件不能属于任何文件组。
事务日志
在MicrosoftSQLServer2000中,数据库必须至少包含一个数据文件和一个事务日志文件。
数据和事务日志信息从不混合在同一文件中,并且每个文件只能由一个数据库使用。
SQLServer使用各数据库的事务日志来恢复事务。
事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录。
事务日志记录每个事务的开始。
它记录了在每个事务期间,对数据的更改及撤消所做更改(以后如有必要)所需的足够信息。
对于一些大的操作(如CREATEINDEX),事务日志则记录该操作发生的事实。
随着数据库中发生被记录的操作,日志会不断地增长。
事务日志记录页的分配和释放,以及每个事务的提交或回滚。
这允许SQLServer采用下列方式应用(前滚)或收回(回滚)每个事务:
在应用事务日志时,事务将前滚。
SQLServer将每次修改后的映象复制到数据库中,或者重新运行语句(如CREATEINDEX)。
这些操作将按照其原始发生顺序进行应用。
此过程结束后,数据库将处于与事务日志备份时相同的状态。
当收回未完成的事务时,事务将回滚。
SQLServer将所有修改前的映象复制到BEGINTRANSACTION后的数据库。
如果遇到表示执行了CREATEINDEX的事务日志记录,则会执行与该语句逻辑相反的操作。
这些前映象和CREATEINDEX逆转将按照与原始顺序相反的顺序进行应用。
在检查点处,SQLServer确保所有已修改的事务日志记录和数据库页都写入磁盘。
在重新启动SQLServer时所发生的各数据库的恢复过程中,仅在不知道事务中所有的数据修改是否已经从高速缓冲中实际写入磁盘时才必须前滚事务。
因为检查点强迫所有修改的页写入磁盘,所以检查点表示启动恢复必须开始前滚事务的位置。
因为检查点之前的所有修改页都保证在磁盘上,所以没有必要前滚检查点之前已完成的任何事务。
利用事务日志备份可以将数据库恢复到特定的即时点(如输入不想要的数据之前的那一点)或故障发生点。
在媒体恢复策略中应考虑利用事务日志备份。
21.3.2创建数据库
若要创建数据库,必须先确定数据库的名称、所有者(创建数据库的用户)、大小,以及用于存储该数据库的文件和文件组。
在创建数据库之前,请考虑如下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第21章 SQL Server 数据库服务 21 数据库 服务
![提示](https://static.bdocx.com/images/bang_tan.gif)