数据库上机作业7.docx
《数据库上机作业7.docx》由会员分享,可在线阅读,更多相关《数据库上机作业7.docx(12页珍藏版)》请在冰点文库上搜索。
数据库上机作业7
实验7SQL的安全控制功能
实验目的
学会使用MSSQLSERVER2000企业管理器和SQL语句完成服务器安全管理、数据库安全管理和数据库对象的访问控制管理。
知识点拨:
1.SQLSERVER的三级安全模型
2.SQLSERVE的身份验证模式
3.角色
4.数据库用户
5.存取控制
实验内容
1.创建登陆账号
2.创建数据库用户
3.创建角色
4.存取控制
实验步骤
1.创建登陆账号并验证数据库的访问权限
1)创建一个windows登录账户,并验证是否创建成功(如果不成功,请检查服务器属性并修改相关设置);
在计算机系统工具里面创建一个组u1
创建一个windows登录账户u1(即属于u1组里面的windows的账号都可以对SQLServer进行访问,但是不能对数据库进行操作)
验证成功
2)创建一个SQLSERVER登录账户,并验证是否创建成功,不成功,操作同上;
创建SQLSERVER登录账户aa(该账户可以在任何机器上面登陆来访问数据库)
2.创建数据库用户
1)创建两个数据库用户;
对数据库DB1创建数据库用户dd失败,原因是因为dd不是SQLSERVER登陆账号,即dd不能够登陆到SQLSERVER
下面使用数据库用户aa进入SQLAERVER,可以看到数据库用户aa可以对数据库DB1进行访问
但是数据库用户不能对数据库DB1进行操作,因为该用户的权限没有进行设置
2)分析数据库用户和登录账户的关系;
分析:
登陆账户可以登陆到SQLSERVER的第一把钥匙,但是不能对数据库进行访问和操作,除非对登陆账户赋予权限。
而数据库用户即是第二把钥匙,可以对数据库进行访问,但是不能够对数据库里面的表、视图等进行操作(因为没有赋予权限)
3.创建角色
1)创建一个数据库角色,并把上面创建的数据库用户添加进来(即:
通过角色进行授权);
在数据库DB1里面创建一个角色r1,并且添加数据库用户aa,bb
2)检查上两个数据库用户的使用权限;
经检查数据库用户aa,bb对数据库DB1没有操作的权限
可以对数据库用户aa,bb进行权限设置:
1.直接勾选
2.在查询分析器里面使用SQL语句对aa,bb赋予权限
GRANTSELECT
ONStudent
TObb
(SQLSERVER中使用)
GRANTSELECT
ONTABLEStudent
TObb
(ORACLE中使用)
4.存取控制
1)SQLSERVER的存取控制包括:
授予、废除和拒绝,体会他们的不同含义;
GRANTSELECT,INSERT,UPDATE(Tno),DELETE
ONTeacher
TOcc
WITHGRANTOPTION
REVOKEUPDATE(Tno)
ONTeacher
FROMcc
使用数据库用户cc登陆进行权限查询验证
UPDATETeacher
SETTname='王五'
WHERETno='01'
(报错:
拒绝了对对象'Teacher'(数据库'DB1',所有者'dbo')的UPDATE权限。
)
2)对如上所建用户权限验证其权限的使用。
对数据库用户aa进行操作
SELECT*
FROMCourse
(可以执行)
DELETE
FROMCourse
WHERECno='1'
(报错:
拒绝了对对象'Teacher'(数据库'DB1',所有者'dbo')的UPDATE权限。
)