1 回答

TA貢獻1784條經驗 獲得超2個贊
如果不加,會出現像下面這種樣子的錯誤。
消息 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 的話,管理員要累死的。
- 1 回答
- 0 關注
- 222 瀏覽
添加回答
舉報