All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL,Server自带的用户自定义函数_mssql学习_编程技术
轻松了解-SQL Server 2008-的报表服务_[SQL Server教程]
利用UrlRewrite,asp.net动态生成htm页面(补充说明2)_[Asp.Net教程]
通过缓存数据库结果提高PHP性能_[PHP教程]
关于SQL,Server的若干注意事项_mssql学习_编程技术
C#中CheckBox控件应用实例
关于PHP无法连接MSSQL数据库的问题_[PHP教程]
获得汉字字符串的首个拼音字母的缩写_.net资料_编程技术
Ajax 及其入门基础(1)_[AJAX教程]
用VB.NET,2005编写定时关机程序_.net资料_编程技术
Reading number is top 10 pictures
Nikon microscopic photography of the first three
30 beautiful school beauty1
Average female college students2
2012 national geographic daily picture5
移民小国也实惠2
青春清纯美女大集合4
住院一星期,检测费两万
超强高考作文
yy365网站上的美女2
中国的十元人民币的秘密
Download software ranking
White deer villiage
Tram sex maniac 2 (H) rar bag9
apache-tomcat-6.0.33
Tram sex maniac 2 (H) rar bag16
Unix video tutorial1
天龙八部最新服务端
linux安装大全
Tram sex maniac 2 (H) rar bag18
Unix video tutorial10
Boxer vs Yellow5
delv published in(发表于) 2013/12/30 4:38:38 Edit(编辑)
sql_设置权限_数据库基础_mssql学习_编程技术

sql_设置权限_数据库基础_mssql学习_编程技术

sql_设置权限_数据库基础_mssql学习_编程技术-你的首页-uuhomepage.com
设置权限
不论用户或角色,都是权限的设置对象。除了应用程序角色较特殊,与其他角色及用
户有相互排斥关系外,数据库角色及成员在权限的关系上非常密切。一个用户可能同时隶
属于多个数据库角色,每一角色又可拥有不同权限,此时用户获取实际权限的原则是“并
集”,除非有 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,分别代表查询对象权限或语句权限。




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.