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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于sql_设置权限_数据库基础的所有评论