SQLServer中服务器角色和数据库角色权限详解
当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。
数据库角色的成员可以分为如下几类:
Windows用户组或用户账户
SQL Server登录
其他角色
SQL Server的安全体系结构中包括了几个含有特定隐含权限的角色。除了数据库拥有者创建的角色之外,还有两类预定义的角色。这些可以创建的角色可以分为如下几类:
固定服务器
固定数据库
用户自定义
固定服务器
由于固定服务器是在服务器层次上定义的,因此它们位于从属于数据库服务器的数据库外面。下表列出了所有现有的固定服务器角色。
固定服务器角色 |
说 明 |
sysadmin |
执行SQL Server中的任何动作 |
serveradmin |
配置服务器设置 |
setupadmin |
安装复制和管理扩展过程 |
securityadmin |
管理登录和CREATE DATABASE的权限以及阅读审计 |
processadmin |
管理SQL Server进程 |
dbcreator |
创建和修改数据库 |
diskadmin |
管理磁盘文件 |
下面两个系统过程用来添加或删除固定服务器角色成员:
sp_addsrvrolemember
sp_dropsrvrolemember
注意:您不能添加、修改或删除固定服务器角色。另外,只有固定服务器角色的成员才能执行上述两个系统过程来从角色中添加或删除登录账户。
sa登录
sa登录是系统管理员的登录。在以前的SQL Server版本中不存在角色,sa登录具有所有可能的关于系统管理工作的权限。在SQL Server 2005中,sa登录保持了向后兼容性。sa登录永远是固定服务器角色syadmin中的成员,并且不能从该角色中删除。
注意:只有当没有其他方法登录到SQL Server系统中时,再使用sa登录。