七种常用固定服务器角色
系统管理员:拥有SQL SERVER所有的权限许可.
服务器管理员:管理SQL SERVER服务器端的设置。
磁盘管理员:管理磁盘文件。
进程管理员:管理SQL SERVER系统进程。
安全管理员:管理和审核SQL SERVER系统登录
安装管理员:增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。
数据库创建者:创建数据库,并对数据库进行修改
数据库角色
数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。
SQL SERVER提供了两种类型的数据库角色:即固定的数据库角色和用户自定义的数据库角色。
固定的数据库角色
Public :维护全部的默认许可
Db_owner: 数据库的所有者,可以对所拥有的数据库执行任何操作。
Db_accessadmin:可以增加或删除数据库用户,工作组和角色(使用sp_grantdbaccess存储过程)
Db_ddladmin:可以增加、删除和修改数据库中的任何对象(使用create,alter和drop语句)
Db_securityadmin:执行语句许可和对象许可(使用grant,revoke和deny语句)
Db_backupoperator:可以备份和恢复数据库(使用dbcc,checkopint和backup语句)
Db_datereader:能且仅能对数据库中的任何表执行select操作,从而读取所有表的信息(有select权限)
Db_datawriter:能够增加,修改和删除表中的数据,但不能进行select操作.(可以对表或视图使用insert,update和delete语句)
Db_denydatareader:不能读取数据库中的任何表中的数据。
Db_denydatawriter:不能对数据库中的任何表执行增加,修改和删除操作。
用户自定义角色
用户自定义角色是创建一组用户,这些用户具有相同的一组许可,如果一组用户需要执行在SQL SERVER中指定的一组操作并且不存在对应的WINDOWS NT组。或者没有管理windows NT用户账号的许可,就可以在数据库中建立一个用户自定义数据库角色,用户自定义的数据库角色有两种类型:即标准角色和应用程序角色
1、 标准角色通过对用户权限等级的认定而将用户划分为不同的用户组,使用户总是相对于一个或多个角色,从而实现管理的安全性
2、 应用程序角色是一种比较特殊的角色,当我打算让某些用户只能通过特定的应用程序间接存取数据库中的数据而不是直接地存取数据库数据时,就应该考试使用应用程序角色。当某一用户使用了应用程序角色时,他便放弃了已被赋予的所有数据库专有权限,他所拥有的只是应用程序角色被设置的角色。
![](https://i-blog.csdnimg.cn/blog_migrate/458a19944cc40a468e8b5f4319761fa8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2415d3feb49a0e0973ba428503999a1e.png)
通俗讲解:
![](https://i-blog.csdnimg.cn/blog_migrate/b292a6d10fdc72a28641fd0416a3e49d.png)