快速业务通道

sql_设置权限_数据库基础

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-21
t;  授予 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,分别代表查询对象权限或语句权限。 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号