SqlServer2012实例之权限设置

这是我们学习数据库时候的一个课下作业 整理了一下 希望我敬爱的西杰老师的学生不会看到

平时学习对于表的操作,触发器,存储过程涉及较多

角色权限因为还是学生很少涉及

代码中的不足之处,欢迎各位评论贴出来,我不怕丢人,谢谢各位大佬

--要求通过 SQL Server Management Studio和SQL的数据控制功能,设置和管理数据操作权限。
--1、创建一个系统登陆账号tlog,并允许该账号访问studentmanager数据库(映射成studentmanager数据库的用户tlog)
--创建登录名
create login tlog
with password='test',
default_database=studentmanager,
default_language = [简体中文],
check_expiration=off,
check_policy=off
--创建用户名
create user tloguser 
for login tlog with
default_schema= dbo
--2、设计安全机制使得用户“tlog”只能查询“电气与信息工程系”的学生的基本信息。
create view stu_dep_dianqi
as
select * from student
where c_id in (select c_id from class where dep_id in( select dep_id from department where dep_name='电气与信息工程系'))

select * from stu_dep_dianqi

grant select on stu_dep_dianqi
to tloguser
--3、设计安全机制使得用户“tolg”只能在上午8:00和下午5:00之间查看学生的学号、姓名、课程名、成绩。
create view v_stuscore(学号,姓名,课程名,成绩)
AS
select student.s_id,s_name,course_name,result
from student,s_c,course
where student.s_id=s_c.s_id and s_c.course_id=course.course_id 
and datepart(Hh,getdate()) between 8 and 17

grant select  
on v_stuscore
to tloguser
--4、设计角色“admin”,可以查看学生的学号、姓名、课程名、成绩,并将数据库用户tlog添加到该数据库角色中。
exec sp_addrole 'admin'
grant select  
on v_stuscore
to admin

exec sp_addrolemember 'admin', 'tloguser'--用户名为tloguser 
--5、使用SQL语句检验用户tlog所获得的最终权限。
exec sp_helprotect NULL, 'tloguser'
--6、收回tlog用户的权限,并使用SQL语句检验用户tlog是否丧失了之前所获得的权限。
revoke select 
on department
from tloguser

revoke select  
on v_stuscore
from tloguser

exec sp_helprotect NULL, 'tloguser'

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值