为了账号安全,请及时绑定邮箱和手机立即绑定

以下是关于用户权限回收问题,求帮忙看看语法SQL server中的revoke cascade

以下是关于用户权限回收问题,求帮忙看看语法SQL server中的revoke cascade

慕村225694 2021-08-18 19:15:57
revoke inserton scfrom u5 cascade (U5可以转让insert权限)这里的cascade是什么意思,不加要出错,为什么要加呢?
查看完整描述

2 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

如果不加,会出现像下面这种样子的错误。

消息 4611,级别 16,状态 1,第 1 行
若要撤消或拒绝可授予的特权,请指定 CASCADE 选项。

原因:
因为 U5可以转让insert权限
也就是以前执行的是:
GRANT insert on sc TO u5 With Grant Option
那么这个 u5 用户登录以后。
可以
GRANT insert on sc TO 其它的用户。

revoke insert
on sc
from u5 cascade

目的是把 给 u5 的权限回收回来, 同时把 u5 授权给其他用户的权限,也回收。

下面以一个例子来演示:
我的数据库上面,有 A 与 B , 两个用户。

我首先用管理员帐户,执行
GRANT SELECT ON Goods TO A With Grant Option

然后我用 A 用户登录。
执行了
1> GRANT SELECT ON Goods TO B With Grant Option
2> go
也就是 A 又给B 授权,允许B访问 Goods表,且还能授权给别人。

现在回到管理员帐户上
执行
REVOKE SELECT ON Goods FROM A CASCADE
从而把 A 的权限收回, 同时也把 A 给 B赋 的权限也收回。

那么现在 A 和 B 都没有权限访问 Goods 表了。

假如没有 cascade 连带删除的话,那么管理员把 A 的权限收回了。 但是 B还有权限。B还可以再把权限给 A,还可以给 C,D,E,F,G。

没有 cascade 的话,管理员要累死的。



查看完整回答
反对 回复 2021-08-23
?
潇湘沐

TA贡献1816条经验 获得超6个赞

系统权限不会被级联回收。
对象权限会被级联回收。

例如:
收回用户li对表employee的查询权限,同时级联收回li授予其他用户的该权限。
SQL语句为:
WITH CHECK OPTION select ON TABLE employee FROM li CASCADE

查看完整回答
反对 回复 2021-08-23
  • 2 回答
  • 0 关注
  • 740 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信