SQL Server角色成员身份和权限简介

为便于管理数据库中的权限,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 角色的权限。

时间: 2024-10-10 16:58:28

SQL Server角色成员身份和权限简介的相关文章

sql_server角色成员身份权限

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

SQL Server 添加登录账户配置权限

一.新建登录名 1. 在登录名右侧的文本框中输入新建的管理员账号名称:2. 一对单选按钮组中,选择Sql Server 身份验证,并输入登录密码:3. 勾选强制实施密码策略复选框:(密码策略一般是指加强用户登录的密码方式例如:可能需要至少8个以上字符,或在尝试若干登陆失败后该账号即被禁止登陆等等!如果觉得麻烦可以不必勾选!)4. 不勾选强制密码过期:(如果勾选该项的话,则每一次登陆后系统都会提示用户必须更改现有密码,如非特殊需求,不建议勾选此项!) 二.设置管理员权限进入[服务器角色]在右侧的服

运行sql server profiler所需的权限

/********运行Sql Server Profiler所需的权限(performance)*********/ --EG.-- 使用TRACE帐户(Performancetest)跟踪Sql Server事件.-- 创建TRACE登陆帐户(Performancetest),并授予其 ALTER TRACE和VIEW SERVER STATE的权限. USE Master CREATE LOGIN Performancetest WITH PASSWORD='[email protected

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

http://blog.csdn.net/weiwenhp/article/details/8093661 我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博,游戏,各种网站会员. 使用数据库自然也不例外,得先整个用户名和密码才能登进去使用里面的数据啊.虽然也有啥windows验证不用你输密码了,但那实际上也是需要你登陆windwos的用户名和密码. Oracle权限管理 创建用户 create user arwenidentifiedby abc;  

SQL Server中服务器身份验证及用户登录

安装过程中,SQL Server 数据库引擎设置为"Windows 身份验证模式"或"SQL Server 和 Windows 身份验证模式". 安装完成后,您可以随时更改身份验证模式. 如果在安装过程中选择了"Windows 身份验证模式",则 sa 登录名将被禁用,安装程序会分配一个密码. 如果稍后将身份验证模式更改为"SQL Server 和 Windows 身份验证模式",则 sa 登录名仍处于禁用状态. 若要使用 s

SQL Server 虚拟化(1)——虚拟化简介

本文属于SQL Server虚拟化系列 前言: 现代系统中,虚拟化越来越普遍,如果缺乏对虚拟化工作原理的理解,那么DBA在解决性能问题比如降低资源争用.提高备份还原速度等操作时就会出现盲点.所以基于本人工作环境的情况和大时代的趋势,同时根据个人经验,绝大部分的IT人员都对虚拟化持有怀疑或者保留意见的态度.所以这里开始一个系列文章,介绍SQL Server虚拟化的内容,内容来自 Stairway to Server Virtualizaion ,如后续有更新或者本人有其他内容,也会添加进去. 目前

SQL Server 2008 Windows身份验证改为混合模式身份验证

1.在当前服务器右键进入“属性页”->“安全性”->勾选Sql Server和Windows身份验证模式->确定. 由于默认不启用sa,所以如果启用sa账户登录,则还需要如下设置: 2.在当前服务器下展开“安全性”,展开“登录名”就会看到登录名sa,右键它-->属性,“选择页”上选“状态”,右边的登陆选“启用”.“常规页”中修改sa账号的密码,确定. 这样就可以用sa登录. SQL Server 2008 Windows身份验证改为混合模式身份验证

SQL Server 性能优化(一)——简介

原文:SQL Server 性能优化(一)--简介 一.性能优化的理由: 听起来有点多余,但是还是详细说一下: 1.节省成本:这里的成本不一定是钱,但是基本上可以变相认为是节省钱.性能上去了,本来要投入的硬件就可以减缓投入,从另外一个角度看来它就是节省了钱. 2.增加效率:对于客户来说,性能上去了,他们的工作效率也高了. 3.降低挫折感:性能底下,客户抱怨,无疑是对自己心灵上的打击. 二.性能误区: 性能误区 误区 现实 如果处理器使用率很高,那么需要添加更快的处理器 某一部分导致了性能问题 8

SQL Server创建用户并分配权限

在服务器端,创建数据库,并创建用户和权限: 1.创建用户: 用管理员用户打开SQLServer管理器,安全性--登录名,右键新建用户. 添加:登录名:user1,和SQL Server身份密码.去掉“强制实施密码策略”. 选择默认数据库,默认语言为简体中文. 在服务器角色页面:选择Public. 在用户映射页面:选择数据库:如Data. 在状态页面:选择授予,已启用.点击确定.用户创建已经完成,只有初级的权限. 2.分配制定数据库的访问权限: 用管理员用户,制定数据库Data,属性--权限,为u