用户与权限管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

\一、实验目的

1、了解SQL Server 2000中的两种用户登录模式;登录帐户、用户、角色、权限的

概念;

2、熟练掌握企业管理控制台方式管理用户、角色、权限的方法。熟练掌握命令行方

式管理用户、角色、权限的命令。

3、熟悉数据库备份及恢复机制、了解SQL Server的数据备份和恢复机制、掌握

SQL-Server中数据库备份和恢复的方法。

4、了解游标的作用

5、理解存储过程的概念,掌握创建与运行存储过程的一般方法,加深对客户/服务器机制的理解。掌握触发器的创建方法,学习触发器的使用,体会触发器执行的时机,加深对触发器功能和作用的理解。比较存储过程和触发器的异同。

二、实验内容

恢复上次课的数据库表结构和数据。

(一)在图形化界面中完成以下操作

(1)创建一个登录用户

(2)将所创建的登录用户加为某数据的用户

(3)自定义一个角色

(4)对所建登录用户、数据库用户和角色授权

A、给用户授予固定服务器角色和给用户授予固定数据库角色

B、给用户和角色授予一些对象权限。

C、将用户自定义角色授予给用户。

(5)删除数据库用户和登录用户

(6)数据库的备份与恢复

A、为test数据库创建完全数据库备份test.bak,目标磁盘为D\ test.bak。

B、在test数据库中新建数据表stu,然后对test数据库创建差异备份。

C、向stu表插入部分记录后对test数据库创建事务日志备份。

D、恢复test数据库到最初状态。

E、将test数据库恢复到创建数据表stu后的状态。

F、将test数据库恢复到在stu表插入记录后的状态。

(二)用命令完成以下操作

1、用户管理

(1)、用系统存储过程sp_addlogin(或CREATE LOGIN),以自己的姓名加上学号为用户名创建一个登录帐户。

(2)、用系统存储过程sp_defaultdb、sp_defaultlanguage(或ALTER LOGIN)修改帐户修改默认数据库和默认语言,sp_password修改帐户密码。

(3)用sp_droplogin(或DROP LOGIN)删除 SQL Server标准登录帐户。

(4)用sp_grantdbaccess(或用CREATE USER)添加数据库用户

(5)用sp_revokedbaccess (或用DROP USER )删除数据库用户

2、角色管理

(1)用命令sp_addrole或CREATE ROLE,以姓名加上学号为角色名创建一个角色,并使用名字的汉语拼音作为口令;

(2)用ALTER ROLE修改创建的角色,去掉口令。

(3)用sp_drorole(或 drop role )删除角色

3、权限管理

(1)对象权限的管理

A、分别用SA用户和新建用户打开两个SSMS

B、在新建用户窗口查询student表中的数据,观察查询结果

C、在SA窗口,用grant命令把student表的查询和修改权限授给新建用户

D、在新建用户窗口查询student表中的数据,观察查询结果

E、在SA窗口,用revoke命令收回新建用户对student表的查询权限

F、在新建用户窗口查询student表中的数据,观察查询结果

(2)语句权限的管理

A、分别用SA用户和新建用户打开两个SSMS

B、在新建用户窗口创建一个table,观察查询结果

C、在SA窗口,用grant命令把create table权限授给新建用户

D、在新建用户窗口创建一个table,观察查询结果

E、在SA窗口,用revoke命令收回新建用户的create table权限

F、在新建用户窗口创建一个table,观察查询结果

4、数据库的备份与恢复(选作)

(1)为test数据库创建完全数据库备份test.bak,目标磁盘为D\ test.bak。

(2)在test数据库中新建数据表stu,然后对test数据库创建差异备份。

(3)向stu表插入部分记录后对test数据库创建事务日志备份。

(4)恢复test数据库到最初状态。

(5)将test数据库恢复到创建数据表stu后的状态。

(6)将test数据库恢复到在stu表插入记录后的状态。

5、游标的操作

用T-SQL语句声明一个游标S_Cursor,查询Student表中所有男生的信息,并读取数据。

(1) 读取最后一条记录。

(2) 读取第一条记录。

(3) 读取第5条记录。

(4) 读取当前记录指针位置后第3条记录。

DECLARE S_Cursor SCROLL CURSOR

FOR SELECT* FROM Student W HERE S SEX='男'

OPEN S_Cursor

FETCH LAST FROM S_Cursor

FETCH PRIOR FROM S_Cursor

FETCH ABSOLUTE 5 FROM S_Cursor

FETCH relative 3 FROM S_Cursor

6、存储过程与触器

(1)创建一个名为GRADE_INFO的存储过程,其功能是查询某门课程的所有学生成绩。显示字段为:CNAME,SNO,SNAME,GRADE。

(2)创建一个INSERT类触发器TR_C_INSERT,当在SC表中插入一条新记录时,触发该触发器,检查该记录的学号在student表中是否存在,如果不存在,则操作失败并给出“该学生不存在”的提示信息.

四.实验习题源程序(SQL命令)清单与运行结果

use HH

1、用户管理

(1)、用系统存储过程sp_addlogin(或CREATE LOGIN),以自己的姓名加上学号为用户名创建一个登录帐户。

CREATE LOGIN HJ WITH password='201310801009'

(2)、用系统存储过程sp_defaultdb、sp_defaultlanguage(或ALTER LOGIN)修改帐户修改默认数据库和默认语言,sp_password修改帐户密码。

sp_defaultdb 'HJ','hh'

sp_defaultlanguage 'HJ','english'

sp_password '201310801009','123456','HJ'

(3)用sp_droplogin(或DROP LOGIN)删除 SQL Server标准登录帐户。

EXEC sp_droplogin 'HJ'

(4)用sp_grantdbaccess(或用CREATE USER)添加数据库用户

sp_grantdbaccess 'HJ','TEST'

(5)用sp_revokedbaccess (或用DROP USER )删除数据库用户

sp_revokedbaccess 'HJ'

2、角色管理

相关文档
最新文档