数据库作业11:SQL练习7 - GRANT/ REVOKE / AUDIT

先建立用户在这里插入图片描述
*在这里插入图片描述【4.1】把查询Student表权限授给用户U1
grant select
on student
to u1;
【4.2】把对Student表和Course表的全部权限授予用户U2和U3
grant all privileges
on student
to u2,u3;
grant all privileges
on course
to u2,u3;
不支持对多个table进行同时操作
【4.3】把对表SC的查询权限授予所有用户
grant select
on sc
to public;
无异常
【4.4】把查询Student表和修改学生学号的权限授给用户U4
grant select,update(sno)
on student
to u4;
过程还挺简单
【4.5】把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户。
grant insert
on sc
to u5
with grant option;
可以通过窗口操作
【4.6】U5授权给U6
grant insert
on sc
to u6
with grant option;

【4.8】把用户U4修改学生学号的权限收回
revoke update(sno)
on student
from u4;
权限收回成功
【4.9】收回所有用户对表SC的查询权限
revoke select
on sc
from public;

【4.10】把用户U5对SC表的INSERT权限收回
revoke insert
on sc
from u5;

【4.11】通过角色来实现将一组权限授予一个用户。
创建角色:
create role a1;
grant select,update,insert
on student
to a1;
/授权/
grant a1
to U1,U2,U3;
/把角色权限授予给用户/
revoke a1
from U1,U2;
/标准SQL但在SQLSEVER中不可用,等价于:/
exec sp_droprolemember ‘a1’,‘U1’
exec sp_droprolemember ‘a1’,‘U2’
/将用户权限收回/
【4.12】角色的权限修改。
grant delete
on student
to a1;
在这里插入图片描述
【4.13】使a1减少了SELECT权限
revoke select
on student
from a1;
修改和授权总感觉差不多
【4.14】建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明
create view cs_s
as
select
from student
where sdept=‘cs’;
/创建视图/
grant select
on cs_s
to 王平;
/在视图的基础上进行授权/
grant all
on cs_s
to 张明;
【4.15】对修改SC表结构或修改SC表数据的操作进行审计
audit alter,update
on sc;

【4.16】取消对SC表的一切审计
onaudit alter,update
on sc;


版权声明:本文为weixin_45887276原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。