中国石油大学华东数据库实验七龚安

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验七安全机制1.理解登录、用户、架构、角色、权限的概念,在EnterpriseManager里浏览SQLServer2005中存在的登录名、用户、架构、角色和权限,形成一个总结。2.利用QueryAnalyzer完成以下操作:⑴建立采油一矿的作业项目的视图,把该视图的查询权限授予给采油一矿的用户user11,以user11的身份查询该视图,观察执行情况;再以其他用户的身份查询该视图,观察执行情况。createviewcaiyouyikuangshituasselectzuoyexiangmuhao,yusuandnawei,jinghao,yusuanjine,yusuanren,yusuanriqi,kaigongriqi,wangongriqi,shigongdanweimingcheng,shigongneirong,cailiaofei,rengongfei,shebeifei,qitafei,jiesuanjine,jiesuanren,jiesuanriqi,jingbie,danweimingchengfromxiangmubiao,youshuijingbiao,danweidaimabiaowhereyusuandanwei=youshuijingbiao.danweidaimaandyusuandanwei=danweidaimabiao.danweidaima;CREATELOGINuser01WITHPASSWORD='12345';CREATEUSERuser11FORLOGINuser01;grantselectoncaiyouyikuangshitutouser11;⑵创建一个用户user12,以user12的身份执行实验六中所定义的存储过程,观察记录是否成功执行;然后把该存储过程的执行权限授予给user12,再次以user12的身份执行该存储过程,观察记录是否成功执行。--创建用户user12createuseruser12forloginxxxgo--授权之前执行存储过程,failafterbelowerror.setuser'user12'goexecute_someDepCost@dwdm='1122',@starttime='2011-5-1',@endtime='2011-5-29';execute_someDepCost@dwdm='112201',@starttime='2011-5-1',@endtime='2011-5-29';execute_someDepCost@dwdm='112201001',@starttime='2011-5-1',@endtime='2011-5-29';go/*消息229,级别14,状态5,过程_someDepCost,第1行拒绝了对对象'_someDepCost'(数据库'zyxt',架构'dbo')的EXECUTE权限。消息229,级别14,状态5,过程_someDepCost,第1行拒绝了对对象'_someDepCost'(数据库'zyxt',架构'dbo')的EXECUTE权限。消息229,级别14,状态5,过程_someDepCost,第1行拒绝了对对象'_someDepCost'(数据库'zyxt',架构'dbo')的EXECUTE权限。*/--授权给user12对存储过程_someDepCost的execute权限,successusezyxtgrantexecuteon_someDepCosttouser12go--授权之后执行存储过程,successsetuser'user12'goexecute_someDepCost@dwdm='1122',@starttime='2011-5-1',@endtime='2011-5-29';execute_someDepCost@dwdm='112201',@starttime='2011-5-1',@endtime='2011-5-29';execute_someDepCost@dwdm='112201001',@starttime='2011-5-1',@endtime='2011-5-29';go⑶定义触发器,实现只能在工作时间内更新“作业项目表”的数据,然后通过选择不同的时间进行适当的更新操作来验证。ifOBJECT_ID('tr_mytr7','TR')isnotnulldroptriggertr_mytr7gocreatetriggertr_mytr7onxiangmubiaoafterupdateasdeclare@currenttimedatetimeset@currenttime=getdate();declare@current_dayvarchar(10)set@current_day=convert(varchar(10),datepart(dw,@currenttime)-1);if@current_daynotbetween1and5beginif@@trancount0beginrollbacktransactionprint'非工作日不能更新数据'endendgo--测试数据(要通过更改系统的时间进行测试)successbegintransactionupdatexiangmubiaosetyusuanren='豆豆'wherezuoyexiangmuhao='zy2011001'if@@trancount0begincommitendgo

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功