固定数据库角色
固定数据库角色在数据库层上进行定义,因此它们存在于属于数据库服务器的每个数据库中。下表列出了所有的固定数据库角色。
固定数据库角色 说 明
db_owner 可以执行数据库中技术所有动作的用户
db_accessadmin 可以添加、删除用户的用户
db_datareader 可以查看所有数据库中用户表内数据的用户
db_datawriter 可以添加、修改或删除所有数据库中用户表内数据的用户
db_ddladmin 可以在数据库中执行所有DDL操作的用户
db_securityadmin 可以管理数据库中与安全权限有关所有动作的用户
db_backoperator 可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)
db_denydatareader 不能看到数据库中任何数据的用户
db_denydatawriter 不能改变数据库中任何数据的用户
除了上表中列出的固定数据库角色之外,还有一种特殊的固定数据库角色,名为public,这里将首先介绍这一角色。
public角色
public角色是一种特殊的固定数据库角色,数据库的每个合法用户都属于该角色。它为数据库中的用户提供了所有默认权限。这样就提供了一种机制,即给予那些没有适当权限的所有用户以一定的(通常是有限的)权限。public角色为数据库中的所有用户都保留了默认的权限,因此是不能被删除的。
一般情况下,public角色允许用户进行如下的操作:
使用某些系统过程查看并显示master数据库中的信息
执行一些不需要一些权限的语句(例如PRINT)
固定数据库角色及其权限