SQLServer技术(98)
来源:互联网 发布:淘宝京东唯品会 编辑:程序博客网 时间:2024/06/04 18:52
1服务器角色
服务器角色是指根据SQLServer的管理任务,以及这些任务相对的重要性等级来把具有SQLServer管理职能的用户划分成不同的用户组,每一组所具有管理SQLServer的权限已被预定义。服务器角色适用在服务器范围内,并且其权限不能被修改。例如,具有sysadmin角色的用户在SQLServer中可以执行任何管理性的工作,任何企图对其权限进行修改的操作都将会失败。这一点与数据库角色不同
SQLServer共有7种预定义的服务器角色,各种角色的具体含义如表14-3所示:
2数据库角色
在SQLServer中我们常会发现我们要将一套数据库专有权限授予给多个用户,但这些用户并不属于同一个NT用户组,或者虽然这些用户可以被NT管理者划为同一NT用户组,但遗憾的是,我们却没有管理NT账号的权限,这时我们就可以在数据库中添加新数据库角色或使用已经存在的数据库角色,并让这些有着相同数据库权限的用户归属于同一角色。
由此可见,数据库角色能为某一用户或一组用户授予不同级别的管理或访问数据库或数据库对象的权限,这些权限是数据库专有的。而且,还可以使一个用户具有属于同一数据库的多个角色。
SQLServer提供了两种数据库角色类型:预定义的数据库角色、用户自定义的数据库角色。
预定义数据库角色
预定义数据库角色是指这些角色所有具有的管理、访问数据库权限已被SQLServer定义、并且SQLServer管理者不能对其所具有的权限进行任何修改。SQLServer中的每一个数据库中都有一组预定义的数据库角色,在数据库中使用预定义的数据库角色可以将不同级别的数据库管理工作分给不同的角色,从而很容易实现工作权限的传递。例如,如果准备让某一用户临时或长期具有创建和删除数据库对象(表、视图、存储过程)的权限,那么只要把他设置为db_ddladmin数据库角色即可。
用户自定义的数据库角色
当我们打算为某些数据库用户设置相同的权限,但是这些权限不等同于预定义的数据库角色所具有的权限时,我们就可以定义新的数据库角色来满足这一要求,从而使这些用户能够在数据库中实现某一特定功能。用户自定义的数据库角色具有以下几个优点:
SQLServer数据库角色可以包含NT用户组或用户;
在同一数据库中用户可以具有多个不同的自定义角色,这种角色的组合是自由的,而不仅仅是public与其它一种角色的结合;
角色可以进行嵌套,从而在数据库实现不同级别的性。
用户定义的数据库角色有两种类型:标准角色和应用角色。
标准角色类似于SQLServer7版本以前的用户组,它通过对用户权限等级的认定而将用户划分为不同的用户组,使用户总是相对于一个或多个角色,从而实现管理的安全性。所有的预定义的数据库角色或SQLServer管理者自定义的某一角色(该角色具有管理数据库对象或数据库的某些权限)都是标准角色。
应用角色是一种比较特殊的角色类型。当我们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据(比如通过SQLServerQueryAnalyzer或Microsoft)而不是直接地存取数据库数据时,我们就应该考虑使用应用角色。当某一用户使用了应用角色时,他便放弃了已被赋予的所有数据库专有权限,他所拥有只是应用角色被设置的权限。通过应用角色,总能实现这样的目标;即以可控制方式来限定用户的语句或对象权限。
标准数据库角色与应用角色的差异主要表现在以下几个方面。
应用角色不像标准角色那样具有组的含义,因此不能像使用标准角色那样把某一用户设置为应用角色;
当用户在数据库中激活应用角色时,必须提供密码,即应用角色是受口令保护的,而标准角色并不受口令保护。
我们可以看出并不像标准角色那样将通过把用户加入到不同的角色当中而使用户具有这样或那样的语句或对象权限,而是首先将这样或那样的权限赋予应用角色,然后将逻辑加入到某一特定的应用程序中,从而通过激活应用角色而实现对应用程序存取数据的可控性。只有应用角色被激活,角色才是有效的,用户也便可以且只可以执行应用角色相应的权限,而不管用户是一个sysadmin或public标准数据库角色。
使用SQLServerEnterpriseManager查看服务器角色成员使用SQLServerEnterpriseManager的执行步骤如下:
(1)启动SQLServerEnterpriseManager,登录到指定的服务器。
(2)单击security文件夹,单击ServerRole图标。
(3)在右窗格中右击服务器角色,在弹出菜单中选择Properties,然后弹出ServerRoleProperties对话框,如图14-10所示,从中我们可以看到该角色的成员。
2增加服务器角色成员
在图14-10的ServerRoleProperties对话框中选择Add按钮弹出AddMembers对话框,从中选择登录者。
3查看服务器角色权限
在图14-10的ServerRoleProperties对话框中选择Permission按钮,便可查找看该服务器角色所具有的所有权限,如图14-11所示。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- SQLServer技术(98)
- SQLServer技术(103)
- SQLServer技术(104)
- SQLServer技术(105)
- SQLServer技术(106)
- SQLServer技术(107)
- SQLServer技术(108)
- SQLServer技术(109)
- SQLServer技术(110)
- SQLServer技术(111)
- SQLServer技术(112)
- SQLServer技术(113)
- SQLServer技术(114)
- SQLServer技术(115)
- SQLServer技术(116)
- SQLServer技术(117)
- SQLServer技术(118)
- SQLServer技术(119)
- PLEAC-Perl 教程 - Directories (Perl进阶者极力推荐)
- SQLServer技术(97)
- 图形图像处理-之-误差扩散 下篇
- ATI王国的缔造者何国源:国际化就像做比萨饼
- delphi杂记(转)
- SQLServer技术(98)
- 「基础」C#中的循环
- SQLServer技术(99)
- SQLServer技术(100)
- SQLServer技术(101)
- 转——SQL编码规范(收集)
- 色字头上一把刀【不顶勿进】
- SQLServer技术(102)
- SQLServer技术(37)