分享
 
 
 

sql_设置权限_数据库基础

王朝学院·作者佚名  2009-11-26
窄屏简体版  字體: |||超大  

设置权限

不论用户或角色,都是权限的设置对象。除了应用程序角色较特殊,与其他角色及用

户有相互排斥关系外,数据库角色及成员在权限的关系上非常密切。一个用户可能同时隶

属于多个数据库角色,每一角色又可拥有不同权限,此时用户获取实际权限的原则是“并

集”,除非有 deny(禁止)的设置。如角色 A 禁止读取数据表 B,但角色 C 可读取数据表

B,此时同时隶属角色 A 和 C 的用户,仍无法读取数据表 B,因为他已被禁止。

在权限的作用对象上,可分为服务器及数据库,即这两者可分别设置权限,请见如下

说明。

指定服务器权限

(1)在对象资源管理器的服务器上右击,再选择“属性”。

(2)在对话框中切换至“权限”。

(3)在“登录名或角色”中选择要设置权限的对象,在“显式权限”中分别勾选授权,

完成后单击“确定”按钮,如图 15-21 所示。

如图 15-21 所示,就是对服务器的权限设置。“授权者”就是当前登录至 SQL Server

服务器的登录名;“权限”是所有当前登录名可设置的权限;“授予”表示授予权限;若勾

选“具有授予”,表示 sa 授予选中对象的权限可再授予其他登录名;“拒绝”就是禁止使用。

这三个选项的选择有其连带关系,勾选“拒绝”,就自动清除“授予”及“具有授予”;若

勾选“具有授予”,则清除“拒绝”并选择“授予”。

“登录名或角色”就是被设置权限的对象,读者可单击“添加”按钮,指定其他登录

名或角色,但所有内置服务器角色均无法更改权限,但可以为 public 角色指定权限。

若要查看当前选择登录名或角色的权限,请单击“有效权限”按钮,因为有效权限可

能不止在图 15-21 中设置,还要视登录名所属的角色而定。所以图 15-21 只会显示在此设

置定义的权限,默认已有的权限则不会显示。

图 15-21 设置服务器权限

指定数据库权限

(1)在对象资源管理器中选择 eBook 数据库,右击后选择“属性”。

(2)在对话框中切换至“权限”。

(3)在“用户或角色”中选择要设置权限的对象,“显式权限”中分别勾选权限,完

成后单击“确定”按钮,如图 15-22 所示。

对象权限

(1)在对象资源管理器中选择 eBook 数据库,打开“数据表”,选择“Orders”数据

表,右击后选择“属性”。

(2)在对话框中切换至“权限”。

(3)单击“添加”按钮,再在对话框中指定要更改权限的用户、数据库角色或应用程

序角色。

(4)在“用户或角色”中选择要设置权限的对象,“显式权限”中分别勾选权限,完

成后单击“确定”按钮,如图 15-23 所示。

图 15-21 及图 15-23 的操作方式完全相同,区别是分别设置服务器、数据库及对象的

权限,可设置的对象也不同。在图 15-21 中可为登录名及服务器角色指定权限,在图 15-22

及图 15-23 中可为用户、数据库角色及应用程序角色指定权限;另一区别是可指定的权限

内容不同。

图 15-22 设置数据库权限

图 15-23 设置对象权限

权限内容

SQL Server 可设置的权限内容非常复杂,由服务器到对象共有 94 个权限,较难理解的

是服务器及数据库的属性,重要项目如表 15-4 所示。

表 15-4 重要权限说明

权限内容 说明

CONTROL 将类似所有权的能力授予给被授予者。被授予者实际上拥有安全对

象上已定义的所有权限

ALTER 授予更改特定安全对象的属性(除了所有权之外)的能力。在特定范

围授予 ALTER 权限时,也会一起授予更改、创建或删除该范围内

包含的任何安全对象的能力

ALTER ANY <服务器安全对象> 授予创建、更改或删除服务器安全对象的个别实例的能力

ALTER ANY <数据库安全对象> 授予 CREATE、ALTER 或 DROP 数据库安全对象的个别实例的

能力

TAKE OWNERSHIP 让被授予者可以取得被授予的安全对象的所有权

CREATE <服务器安全对象> 将创建服务器安全对象的能力授予被授予者

CREATE <数据库安全对象> 将创建数据库安全对象的能力授予给被授予者

VIEW DEFINITION 让被授予者能访问元数据

表 15-4 中的“安全对象”指的是权限设置操作的作用对象,如“Create Role”中的“Role”

就是此处的安全对象。

用 T-SQL 设置权限

在 T-SQL 中设置权限可使用 GRANT(授予)、DENY(拒绝)及 REVOKE(撒销)三个语句,

这三个语句的用法非常多,基本形式如下:

GRANT ALL 或权限名称 ON 对象 TO 用户或角色名称 WITH 选项

REVOKE ALL 或权限名称 ON 对象 TO 用户或角色名称 CASCADE

DENY ALL 或权限名称 ON 对象 TO 用户或角色名称 CASCADE

每 一 语 句 都 有 三 个 元 素 , 分 别 是 权 限 名 称 、 对 象 及 用 户 ( 角 色 ), 如 下

(Ch15\1524Grant.sql):

USE eBook

GRANT SELECT ON OBJECT::dbo.members TO David

GRANT REFERENCES (MemberID) ON OBJECT::dbo.Orders

TO David WITH GRANT OPTION

以上语句是使用 Grant 语句分别授予权限给 David,但对象内容不同,对象名称请以

“OBJECT::”开头,其后最好使用完整名称,即加上所有者。第二个 Grant 语句的作用对

象较特殊,“(MemberID) ON OBJECT:: dbo.Orders”,表示作用于 Orders 对象的 MemberID

字段,将此列的视图权限授予 David。同时加上“WITH GRANT OPTION”,表示 David 可

再将此权限授予他人,相当于图 15-23 的“具有授予”。

而在 Revoke 及 Deny 语句中,最后可加入 Cascade,此关键词的功能是一起撤销 To 之

后用户可授予其他人的权限,即取消“具有授予”。

查看可用权限

由于可用权限非常多,在 T-SQL 中没有选项可供选择,所以使用 GRANT、DENY 及

REVOKE 时,必须首先知道权限名称才能进行设置。读者可查看 sys.fn_builtin_permissions、

sys.database_permissions、sys.server_permissions 三个系统数据表,如图 15-24 所示。

图 15-24 查看可用权限

图 15-24 中的“permission_name”就是可用的权限名称,可应用在 Grant、DENY 或

Revoke 语句中。

查看权限内容

若要查看当前登录名及用户的权限内容,可执行 sp_helprotect 存储过程,如图 15-25

所示。

图 15-25 中的 Grantee 是授予权限的用户名称,Grantor 是将权限授予他人的用户名称。

sp_helprotect 存储过程之后最多可使用四个参数,分别代表对象名称、用户名称、授予人名

称,第四个参数可以是 o 或 s,分别代表查询对象权限或语句权限。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有