为便于管理数据库中的权限,SQL Server 提供了若干“角色”,这些角色是用于分组其他主体的安全主体。它们类似于 Microsoft Windows 操作系统中的组。数据库级角色的权限作用域为数据库范围。SQL Server 中有两种类型的数据库级角色:数据库中预定义的“固定数据库角色”和您可以创建的“灵活数据库角色”。

固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份。但是,只有 db_owner 数据库角色的成员能够向db_owner 固定数据库角色中添加成员。msdb 数据库中还有一些特殊用途的固定数据库角色。您可以向数据库级角色中添加任何数据库帐户和其他SQL Server 角色。固定数据库角色的每个成员都可向同一个角色添加其他登录名。

数据库级别的角色名称及说明

db_owner 固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以删除数据库。

db_securityadmin 固定数据库角色的成员可以修改角色成员身份和管理权限。向此角色中添加主体可能会导致意外的权限升级。

db_accessadmin 固定数据库角色的成员可以为 Windows 登录名、Windows 组和 SQL Server 登录名添加或删除数据库访问权限。

db_backupoperator 固定数据库角色的成员可以备份数据库。

db_ddladmin 固定数据库角色的成员可以在数据库中运行任何数据定义语言 (DDL) 命令。

db_datawriter 固定数据库角色的成员可以在所有用户表中添加、删除或更改数据。

db_datareader 固定数据库角色的成员可以从所有用户表中读取所有数据。

db_denydatawriter 固定数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据。

db_denydatareader 固定数据库角色的成员不能读取数据库内用户表中的任何数据。

有关数据库级固定角色权限的特定信息,请参阅固定数据库角色的权限(数据库引擎)。

msdb 角色名称及说明

db_ssisadmin

db_ssisoperator

db_ssisltduser

这些数据库角色的成员可以管理和使用SSIS。从早期版本升级的 SQL Server 实例可能包含使用 Data Transformation Services (DTS)(而不是 SSIS)命名的旧版本角色。有关详细信息,请参阅使用 Integration Services 角色。

dc_admin

dc_operator

dc_proxy

这些数据库角色的成员可以管理和使用数据收集器。有关详细信息,请参阅数据收集器的安全性。

PolicyAdministratorRole

db_ PolicyAdministratorRole  数据库角色的成员可以对基于策略的管理策略和条件执行所有配置和维护活动。有关详细信息,请参阅使用基于策略的管理来管理服务器。

ServerGroupAdministratorRole

ServerGroupReaderRole

这些数据库角色的成员可以管理和使用注册的服务器组。有关详细信息,请参阅创建服务器组。

重要提示:

db_ssisadmin 角色和 dc_admin 角色的成员也许可以将其权限提升到sysadmin。之所以会发生此权限提升,是因为这些角色可以修改Integration Services 包,而 SQL Server 可以使用SQL Server 代理的sysadmin 安全上下文来执行Integration Services 包。若要防止在运行维护计划、数据收集组和其他 Integration Services 包时出现此权限提升,请将运行包的 SQL Server 代理作业配置为使用拥有有限权限的代理帐户,或只将 sysadmin 成员添加到 db_ssisadmin 和dc_admin 角色。

使用服务器级角色

sp_helpdbfixedrole (Transact-SQL)   →  元数据   →  返回固定数据库角色的列表。

sp_dbfixedrolepermission (Transact-SQL)   →  元数据   →  显示固定数据库角色的权限。

sp_helprole (Transact-SQL)   →  元数据   →  返回当前数据库中有关角色的信息。

sp_helprolemember (Transact-SQL)   →  元数据   →  返回有关当前数据库中某个角色的成员的信息。

sys.database_role_members (Transact-SQL)   →  元数据   →  为每个数据库角色的每个成员返回一行。

IS_MEMBER (Transact-SQL)   →  元数据   →  指示当前用户是否为指定 Microsoft Windows 组或 Microsoft SQL Server 数据库角色的成员。

CREATE ROLE (Transact-SQL)   →  命令   →  在当前数据库中创建新的数据库角色。

ALTER ROLE (Transact-SQL)   →  命令   →  更改数据库角色的名称。

DROP ROLE (Transact-SQL)    →  命令从数据库中删除角色。

sp_addrole (Transact-SQL)   →  命令   →  在当前数据库中创建新的数据库角色。

sp_droprole (Transact-SQL)   →  命令   →  从当前数据库中删除数据库角色。

sp_addrolemember (Transact-SQL)   →  命令   →  为当前数据库中的数据库角色添加数据库用户、数据库角色、Windows 登录名或 Windows 组。

sp_droprolemember (Transact-SQL)   →  命令   →  从当前数据库的 SQL Server 角色中删除安全帐户。

public 数据库角色

每个数据库用户都属于public 数据库角色。如果未向某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该对象的public 角色的权限。

本文就介绍到这里,由于本人水平有限,若文中有描述不当的地方,欢迎各位批评指正。谢谢了。

本文转自:http://database.51cto.com/art/201107/276065.htm

sql SQL Server角色成员身份和权限简介相关推荐

  1. sqlserver 数据库角色成员身份

    db_accessadmin 固定数据库角色的成员可以为 Windows 登录名.Windows 组和 SQL Server 登录名添加或删除数据库访问权限. db_backupoperator 固定 ...

  2. SqlServer2005中数据库角色成员身份

    12.4  角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据 ...

  3. 微软SQL服务器登录,Microsoft SQL Server 【Windows 身份验证】和 【sa】都无法登录的解决方案...

    1.修改启动参数:打开[SQL Server 配置管理器(SQL Server Configuration Manager)]→右键[SQL Server(MSSQLSERVER)]属性→高级(Adv ...

  4. SQL Server 中的身份认证讲解

    SQL Server 中的身份认证讲解TIME:2009-4-22   |   READ:228 Microsoft® SQL Server™ 可以在两种安全(身份验证)模式之一下工作: Window ...

  5. 替换SQL Server中Windows身份验证登陆名buildin\Administrator

    以Administrator账户登陆服务器的人员,均可以以buildin\Administrator登陆数据库,并且拥有sysadmin最大权限.而能够使用Administrator登陆服务器可能包括 ...

  6. SQL Server本地Windows身份登录,错误代码18456问题

    解决这个问题的前提是:能用sa账户登录数据库. 问题:错误代码:18456 1.使用Winfows身份登录 ,使用点击连接报错,错误代码:18456 2.使用sa账户登录 新建查询:输入Sql CRE ...

  7. 【转】理解SQL Server的安全对象和权限

    理解安全对象(Securable) 安全对象,是SQL Server 数据库引擎授权系统控制对其进行访问的资源.通俗点说,就是在SQL Server权限体系下控制的对象,因为所有的对象(从服务器,到表 ...

  8. 怎样更改SQL Server 2008的身份验证方式

    大家都知道sql server 有两种登录验证方式,即sql server验证方式和windows验证方式,但是sql server默认的是windows登录验证方式,我们如何启用sql server ...

  9. SQL Server与Oracle对比学习:权限管理(一)

    http://blog.csdn.net/weiwenhp/article/details/8093661 我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博 ...

最新文章

  1. mongodb 3.2配置内存缓存大小为MB/MongoDB 3.x内存限制配置
  2. log_miner操作(日志挖掘)
  3. YOLOv5自定义数据集训练
  4. SAP CRM中间件下载时数据库表CRMATAB为空的处理方法
  5. 【渝粤教育】国家开放大学2019年春季 2080现代教育思想 参考试题
  6. 文件桌面跟计算机同步删除吗,电脑里桌面文件被不慎覆盖了如何恢?
  7. LeetCode 131. 分割回文串(回溯)
  8. duilib环境配置以及简单入门介绍
  9. PowerShell 中执行 dir /b /s
  10. 各路技术牛人都推荐的书
  11. JavaScript 优先队列
  12. 微信小程序模版合集下载,160个微信小程序源码.zip + 35个行业-微信小程序源码.zip
  13. 【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)
  14. Web前端的优点有哪些?为什么Web前端可以如此火爆?
  15. python控制本地音乐播放器_如何使用python控制音乐播放器
  16. 从Linux服务器下载文件夹到本地
  17. 计算机二级12月报名时间广东,18年广东省全国计算机等级考试报名:12月15日起...
  18. 软件测试怎么测微信朋友圈,面试题:软件测试,如何测微信的朋友圈?
  19. 阿里云服务器ECS搭建EMQ快速实现MQTT通信
  20. 离开学校如何自学修炼成为一名网页设计师(四)

热门文章

  1. 思源EMLOG文章页网址跳转插件V1.1
  2. 织梦dede企业律师事务所网模板源码
  3. PHP如何实现HTML页面静态化
  4. 3个检测浏览器User-Agent信息的网站
  5. 在 Sublime Text 中使用 SFTP 插件快速编辑远程服务器文件 Sublime-text with SFTP plugin ...
  6. 给开发者准备的 10 款最好的 jQuery 日历插件
  7. const iterator 和const_iterator的区别
  8. Leetcode算法题(C语言)9--移动零
  9. Linux发行版本详解
  10. 【Python管理GPU】pynvml工具的安装与使用