1
数据库技术及应用
1.11.3.1 8.3.1 SQL Server角色
8.3.1 SQL Server角色

角色是一个强大权限管理工具,它将工作性质完全相同的用户集中到一个单元中,然后对该单元进行权限的管理。对一个角色授予、拒绝或回收的权限适用于该角色的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限,当工作人员开始工作时,只需将他们添加为该角色成员;当他们离开工作时,将他们从该角色中删除。这样就不必在每个人接受或离开工作时,反复授予、拒绝和回收其权限,从而有效提高了权限管理的效率。权限在用户成为该角色成员时自动生效。

SQL Server中有两种类型的角色,即服务器角色和数据库角色。

(1)服务器角色是为整个服务器设置的,与登录名相对应。服务器角色是由系统定义的,用户不能创建新的服务器角色,也不能删除固定服务器角色,而只能选择合适的角色分配给登录账户。表8-1为SQL Server2008拥有的9种服务器角色。

表8-1 服务器角色

(2)数据库角色是对用户而言的,是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。数据库角色包括固定数据库角色和用户自定义的数据库角色两种类型。

固定数据库角色是指SQL Server预先定义了的数据库角色。这些角色具有一定的管理、访问数据库的权限,而且SQL Server管理者不能对其所具有的权限进行任何修改。SQL Server中,每个数据库都有一组固定的数据库角色,通过它们可以将不同级别的数据库管理工作分给不同的角色,从而有效地实现工作权限的传递。SQL Server提供了10种常用的固定数据库角色,其信息存储在系统表sysusers中。固定数据库角色的描述如表8-2所示。

表8-2 固定数据库角色

用户自定义的数据库角色是指在固定数据库角色不能满足需要的时候,由用户自行定义的数据库角色。