数据库实验五SQLServer安全性实习报告记录.docx
《数据库实验五SQLServer安全性实习报告记录.docx》由会员分享,可在线阅读,更多相关《数据库实验五SQLServer安全性实习报告记录.docx(10页珍藏版)》请在冰豆网上搜索。
数据库实验五SQLServer安全性实习报告记录
数据库实验五SQLServer安全性实习报告记录
————————————————————————————————作者:
————————————————————————————————日期:
实验四SQLSERVER安全性
一、实验目的
掌握SQLSERVER数据访问控制策略和技术,SQLSERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。
二、实验内容
1.在服务器级别上创建三个以SQLServer身份验证的登录名,登录名称自定。
1.在服务器级别上创建三个以SQLServer身份验证的登录名,登录名称自定。
createloginTwithpassword='123456';
createloginMwithpassword='123456';
createloginJwithpassword='123456';
2.分别为三个登录名在“Project”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“Project”数据库。
useProject
go
createuserTomforloginT
createuserMaryforloginM
createuserJohnforloginJ
3.授予用户John创建表和视图的权限。
grantalteronschema:
:
dbotoJohn
grantcreatetable,createview
toJohn
4.完成以下授权:
(1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。
grantinsert
onS
toTom
withgrantoption
useProject
insertintoS(sno,sname,city)
values('S9','国安','北京')
(2)用户Mary对S,P,J三个表有SELECT和INSERT权力
grantselect,insert
onS
toMary
grantselect,insert
onP
toMary
grantselect,insert
onJ
toMary
useProject
insertintoS(sno,sname,city)
values('S10','华安','北京')
insertintoP(pno,pname,pweight)
values('P10','螺丝刀',12)
insertintoJ(jno,jname,city)
values('J20','项目','北京')
select*fromS
select*fromP
select*fromJ
(3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDATE权力。
()用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDATE权力。
grantdelete,update(qty)
onSPJ
toTom
updateSPJ
setqty=qty+50
whereSno='s5'
deletefromSPJ
wheresno='s5'andpno='p6'andjno='j4'
(4)把对用户Tom授予的所有权力收回
revokedelete,update(qty)
onSPJ
fromTom
revokeinsert
onS
fromTomcascade
(5)对用户Mary增加SPJ表的SELECT权力。
()对用户Mary增加SPJ表的SELECT权力。
grantselect
onSPJ
toMary
select*fromSPJwheresno='s1'
(6)拒绝Mary对表P的INSERT权限。
()拒绝Mary对表P的INSERT权限。
denyinsert
onP
toMary
insertintoP(pno,pname,pweight)
values('P11','螺丝刀',12)
5.在student数据库中创建角色STUDBA,将查询和更新SC表的权限授予角色STUDBA。
5.在student数据库中创建角色STUDBA,将查询和更新SC表的权限授予角色STUDBA。
useStudent
go
createroleSTUDBA
grantselect,update
onSC
toSTUDBA
useStudent
go
createuserTomforloginT
execsp_addrolememberSTUDBA,Tom
useStudent
select*fromSC
updateSC
setGrade=Grade+5
whereSno='101101'
6.两个同学为一组(自由搭配),在自己的数据库服务器上分别为对方创建一个登录名,在student数据库中为登录名映射数据库用户,将数据库用户加入STUDBA角色中。
然后用对方为自己创建的登录名和对方的数据库服务器建立连接,对对方的数据库进行操作,验证所授予的权限。
6.两个同学为一组(自由搭配),在自己的数据库服务器上分别为对方创建一个登录名,在student数据库中为登录名映射数据库用户,将数据库用户加入STUDBA角色中。
然后用对方为自己创建的登录
名和对方的数据库服务器建立连接,对对方的数据库进行操作,验证所授予的权限。
createloginLIUwithpassword='123456'
usestudent
createuserliuforloginLIU
EXECSP_ADDROLEMEMBERSTUDBA,'liu';
三、实验总结
通过这次实验,对于SQLServer的安全机制有了深刻的理解,实验过程中遇到的困难,在查阅资料后都一一解决,收获非常大。
能够熟练的掌握SQLServer的授权机制。