主体是可以请求 SQL Server 资源的实体.每个主体都具有一个安全标识符(SID)
主体分三个:
Windows 级别的主体
- Windows 域登录名
- Windows 本地登录名
服务器级的主体
- SQL Server 登录名
数据库级的主体
- 数据库用户
- 数据库角色
- 应用程序角色
服务器角色有
bulkadmin:固定服务器角色的成员可以运行 BULK INSERT 语句
dbvreator: 固定服务器角色的成员可以创建数据库,并可以更改和还原其自己的数据库。
diskadmin:固定服务器角色用于管理磁盘文件。
processadmin:固定服务器角色的成员可以终止 SQL Server 实例中运行的进程。
securityadmin:固定服务器角色的成员将管理登录名及其属性。它们可以 GRANT、DENY 和 REVOKE 服务器级权限。也可以 GRANT、DENY 和 REVOKE 数据库级权限。另外,它们可以重置 SQL Server 登录名的密码。
serveradmin:固定服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。
setupadmin: 固定服务器角色的成员可以添加和删除链接服务器,并且也可以执行某些系统存储过程。
sysadmin:固定服务器角色的成员可以在服务器中执行任何活动。默认情况下,Windows BUILTIN\Administrators 组(本地管理员组)的所有成员都是 sysadmin 固定服务器角色的成员。
数据库级别的角色有
首先说明什么是固定数据库角色数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。SQL Server提供了两种类型的数据库角色:系统固定角色和用户自定义角色
db_accessadmin:固定数据库角色的成员可以为 Windows 登录帐户、Windows 组和 SQL Server 登录帐户添加或删除访问权限
db_backupoperator:固定数据库角色的成员可以备份该数据库
db_datareader:固定数据库角色的成员可以对数据库中的任何表或视图运行 SELECT 语句。
db_datawriter:固定数据库角色的成员可以在所有用户表中添加、删除或更改数据。
db_ddladmin:固定数据库角色的成员可以在数据库中运行任何数据定义语言 (DDL) 命令。
db_denydatareader: 固定服务器角色的成员不能读取数据库内用户表中的任何数据。
db_denydatawriter:固定服务器角色的成员不能添加、修改或删除数据库内用户表中的任何数据。
db_owener: 固定数据库角色的成员可以执行数据库的所有配置和维护活动。(在SqlServer2005中可以删除数据库)
db_securityadmin:固定数据库角色的成员可以修改角色成员身份和管理权限
public:view and database的权限。每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。