本文主要是介绍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_dianqigrant 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 17grant select
on v_stuscore
to tloguser
--4、设计角色“admin”,可以查看学生的学号、姓名、课程名、成绩,并将数据库用户tlog添加到该数据库角色中。
exec sp_addrole 'admin'
grant select
on v_stuscore
to adminexec sp_addrolemember 'admin', 'tloguser'--用户名为tloguser
--5、使用SQL语句检验用户tlog所获得的最终权限。
exec sp_helprotect NULL, 'tloguser'
--6、收回tlog用户的权限,并使用SQL语句检验用户tlog是否丧失了之前所获得的权限。
revoke select
on department
from tloguserrevoke select
on v_stuscore
from tloguserexec sp_helprotect NULL, 'tloguser'
这篇关于SqlServer2012实例之权限设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!