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