SQL Server 数据库之角色、管理权限
角色、管理權限
- 1. 角色
- 1.1 概述
- 1.2 預定義角色
- 1.3 角色的操作
- 2. 管理權限
- 2.1 概述
- 2.2 授予權限
- 2.3 收回權限
1. 角色
1.1 概述
一個數據庫可能會有許多個用戶,若單獨給每個用戶設置管理權限,會浪費很多時間;角色就是集中管理權限的一種機制,它能將不同權限的用戶分類組合,便于數據庫管理員管理;
1.2 預定義角色
SQL Server 中有兩類預定義的角色,系統管理預定義角色和數據庫預定義角色,這兩類預定義角色將系統管理和數據庫管理的權限做了分解,方便數據庫管理員分配使用;
當中,較為特殊的是 public 角色,它的權限是所有數據庫用戶的默認權限;
每個用戶都有 public 角色,不需要也不能夠將用戶指派給 public 角色,因為默認情況下所有用戶都自動屬于該角色,同樣,用戶也不能取消角色的public 角色或直接刪除public 角色;
1.3 角色的操作
<角色>是定義的角色的名稱,命名規則跟數據表名類似;AUTHORIZATION表示指定該角色的擁有者,可以為用戶或角色,但需要一定的權限,省略時表示屬于創建該角色的用戶;
例子 1:創建用戶 teacher
若一個用戶不再擔當某角色,可取消該用戶的角色資格,取消角色資格的SQL語法格式如下:
sp_droprolemember '角色名'.'用戶名'例子 2:將角色 teacher 改為 Teacher;
alter role teacher with name=Teacher注意: 不能刪除仍然帶有用戶的角色,在刪除角色前解除其與所有成員的關系;
2. 管理權限
2.1 概述
權限是用戶對數據庫及其對象的使用權;為了數據庫的安全,需要對用戶的操作權限進行控制管理,系統管理員或數據庫管理員能按層次定義角色及其權限,為不同級別的用戶指定不同的角色,從而分層次管理數據;
權限可分為系統權限和對象權限,系統權限表示用戶對數據庫的操作權限,如下表:
對象權限表示系統權限授予用戶對特定數據庫中的表、視圖等操作權限,如下表:
2.2 授予權限
授予權限的SQL命令為 GRANT,語法格式如下:
GRANT <權限> ON <對象名> TO <用戶名或角色名> [WITH GRANT OPTION][WITH GRANT OPTION] 表示獲得用戶權限的用戶能將該權限賦予其他用戶;
例子 3: 授予用 Tim 查詢數據表 B 及修改 ID 的權限
2.3 收回權限
收回權限的SQL命令為REVOKE,語法格式如下:
REVOKE <權限> ON <對象名> FROM <用戶名或角色名>例子 4:收回用戶 Tim 在數據表 B中修改 ID 的權限
revoke select,update(ID) on B to Tim總結
以上是生活随笔為你收集整理的SQL Server 数据库之角色、管理权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7-6 数据结构实验之链表七:单链表中重
- 下一篇: 再谈Linux epoll惊群问题的原因