什么是数据库角色?
对某个 Analysis Services 数据库具有相同访问权限的用户和组的集合。可以将数据库角色指派给数据库中的多个多维数据集,从而将该角色的用户访问权限授予这些多维数据集。
你可以这样想,角色相当于win的用户组,它是一个成员的集合,可以自定义角色,举例:数据库拥有者dbowner;成员就是win的用户,成员隶属于某个角色或多个角色,举例:dbo就是属于dbowner的一个成员。
角色是一个强大的工具,使您得以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。当工作人员开始工作时,只须将他们添加为该角色成员,当他们离开工作时,将他们从该角色中删除。而不必在每个人接受或离开工作时,反复授予、拒绝和废除其权限。权限在用户成为角色成员时自动生效。Microsoft® Windows NT® 和 Windows® 2000 组的使用方式与角色很相似。有关更多信息,请参见组。
如果根据工作职能定义了一系列角色,并给每个角色指派了适合这项工作的权限,则很容易在数据库中管理这些权限。之后,不用管理各个用户的权限,而只须在角色之间移动用户即可。如果工作职能发生改变,则只须更改一次角色的权限,并使更改自动应用于角色的所有成员,操作比较容易。
在 Microsoft® SQL Server™ 2000 和 SQL Server 7.0 版中,用户可属于多个角色。
以下脚本说明登录、用户和角色的添加,并为角色授予权限。
USE master
GO
sp_grantlogin 'NETDOMAIN\John'
GO
sp_defaultdb 'NETDOMAIN\John', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Sarah'
GO
sp_defaultdb 'NETDOMAIN\Sarah', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Betty'
GO
sp_defaultdb 'NETDOMAIN\Betty', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Ralph'
GO
sp_defaultdb 'NETDOMAIN\Ralph', 'courses'
GO
sp_grantlogin 'NETDOMAIN\Diane'
GO
sp_defaultdb 'NETDOMAIN\Diane', 'courses'
GO
USE courses
GO
sp_grantdbaccess 'NETDOMAIN\John'
GO
sp_grantdbaccess 'NETDOMAIN\Sarah'
GO
sp_grantdbaccess 'NETDOMAIN\Betty'
GO
sp_grantdbaccess 'NETDOMAIN\Ralph'
GO
sp_grantdbaccess 'NETDOMAIN\Diane'
GO
sp_addrole 'Professor'
GO
sp_addrole 'Student'
GO
sp_addrolemember 'Professor', 'NETDOMAIN\John'
GO
sp_addrolemember 'Professor', 'NETDOMAIN\Sarah'
GO
sp_addrolemember 'Professor', 'NETDOMAIN\Diane'
GO
sp_addrolemember 'Student', 'NETDOMAIN\Betty'
GO
sp_addrolemember 'Student', 'NETDOMAIN\Ralph'
GO
sp_addrolemember 'Student', 'NETDOMAIN\Diane'
GO
GRANT SELECT ON StudentGradeView TO Student
GO
GRANT SELECT, UPDATE ON ProfessorGradeView TO Professor
GO
该脚本给 John 和 Sarah 教授提供了更新学生成绩的权限,而学生 Betty 和 Ralph 只能选择他们自己的成绩。Diane 因同时教两个班,所以添加到两个角色中。ProfessorGradeView 视图应将教授限制在自己班学生的行上,而 StudentGradeView 应限制学生只能选择自己的成绩。
SQL Server 2000 和 SQL Server 7.0 版在安装过程中定义几个固定角色。可以在这些角色中添加用户以获得相关的管理权限。下面是服务器范围内的角色。
固定服务器角色
描述
sysadmin
可以在 SQL Server 中执行任何活动。
serveradmin
可以设置服务器范围的配置选项,关闭服务器。
setupadmin
可以管理链接服务器和启动过程。
securityadmin
可以管理登录和 CREATE DATABASE 权限,还可以读取错误日志和更改密码。
processadmin
可以管理在 SQL Server 中运行的进程。
dbcreator
可以创建、更改和除去数据库。
diskadmin
可以管理磁盘文件。
bulkadmin
可以执行 BULK INSERT 语句。
可以从 sp_helpsrvrole 获得固定服务器角色的列表,可以从 sp_srvrolepermission 获得每个角色的特定权限。
每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。例如,如果 Database1 和 Database2 中都有叫 UserX 的用户 ID,将 Database1 中的 UserX 添加到 Database1 的 db_owner 固定数据库角色中,对 Database2 中的 UserX 是否是 Database2 的 db_owner 角色成员没有任何影响。
固定数据库角色
描述
db_owner
在数据库中有全部权限。
db_accessadmin
可以添加或删除用户 ID。
db_securityadmin
可以管理全部权限、对象所有权、角色和角色成员资格。
db_ddladmin
可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。
db_backupoperator
可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。
db_datareader
可以选择数据库内任何用户表中的所有数据。
db_datawriter
可以更改数据库内任何用户表中的所有数据。
db_denydatareader
不能选择数据库内任何用户表中的任何数据。
db_denydatawriter
不能更改数据库内任何用户表中的任何数据。
可以从 sp_helpdbfixedrole 获得固定数据库角色的列表,可以从 sp_dbfixedrolepermission 获得每个角色的特定权限。
数据库中的每个用户都属于 public 数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给 public 角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给 public 角色的权限。
就好象 分组一样, 把需要赋予同种权力的帐号分到同一个组
数据库系统包括哪些内容?
4. 人员:数据库系统的人员包括四类角色。第一类是系统分析员和数据库设计人员,他们负责需求分析和规范说明,参与硬件配置和数据库的概要设计。第二类是应用程序员,负责编写利用数据库的应用程序。第三类是最终用户,他们通过系统接口或查询语言访问数据库。第四类是数据库管理员(Database Administrator, ...
数据库系统由哪几部分组成?
硬件方面,指的是构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件配置需要满足整个数据库系统的需求。至于人员,数据库系统通常涉及四类角色:系统分析员和数据库设计人员、应用程序员、最终用户和数据库管理员(DBA)。系统分析员和数据库设计人员参与需求分析、系统设计以及数据库各级模式的设计...
oracle权限和角色的区别和联系是什么
oracle权限和角色的区别为:性质不同、主要目的不同。权限和角色的联系当建立角色时,角色没有任何权限,为了使得角色完成特定任务,必须为其授予相应的系统权限和对象权限。 每一个角色可以拥有多个权限,同时一个权限也可以同时给多个角色拥有。一、性质不同 1、权限:权限是指执行特定类型sql命令或是访问...
oracle中身份和角色的区别是什么?
\\x0d\\x0a4.显示用户具有的角色,及默认角色 \\x0d\\x0a 当以用户的身份连接到数据库时,oracle会自动的激活默认的角色,通过查询数据字典视图dba_role_privs可以显示某个用户具有的所有角色及当前默认的角色 \\x0d\\x0aSQL> select granted_role, default_role from dba_role_privs where grantee = ‘用户名’...
什么是数据库?
截取、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。在计算机编程之中,数据库的定义和生活中有一定的区别。同样是数据的集合这没有变,但是多了一些条件限定,每一种类型数据集合里面的数据都有固定的内容结构。
简述数据库权限管理中,角色有什么作用。
【答案】:角色用来简化将很多权限分配给很多用户这一一复杂任务的管理。角色允许用户分组接受同样的数据库权限,而不用单独给每一个用户分配这些权限。用户可以使用系统自带的角色,也可以创建一个代表一组用户使用的权限角色,然后把这个角色分配给这个工作组的用户。角色是一个强大的工具,它可以将用户集中...
数据库角色有哪些权限及其功能?
在数据库管理中,不同的角色拥有不同的权限。db_owner是最高权限,拥有对数据库的全部权限,包括所有操作。db_accessadmin的权限集中在用户身份管理上,可以添加或删除用户ID。db_securityadmin负责权限和所有权的管理,可以操控全部权限、对象所有权,以及角色和成员资格的设置。db_ddladmin主要负责数据定义...
试述登陆名与数据库用户、数据库用户和角色之间的关系?
以mssql为例,登录账户是sa,dbo是成员(用户账号),dbo隶属于数据库拥有者(这个角色)。如果只添加一个登录名,而不绑定角色和授权数据库,那新登录只能访问系统数据库(master等)
数据库中用户与角色权限管理各有什么作用
用户(User)只针对某个人管理;角色(Role)可以针对一批人(该角色下的所有用户)实施统一的管理策略。通常,高效的管理就是:1、先对角色管理;2、再对角色中某个特例用户进行管理。
哪一个命令可以列出所有数据库角色
db_datawriter可以列出所有数据库角色。db_datareader固定数据库角色的成员可以对数据库中的任何表或视图运行SELECT语句。db_datawriter可以列出所有数据库角色。db_owner固定数据库角色的成员可以执行数据库的所有配置和维护活动。
拱习菊蓝: 你可以这样想,角色相当于win的用户组,它是一个成员的集合,可以自定义角色,举例:数据库拥有者dbowner;成员就是win的用户,成员隶属于某个角色或多个角色,举例:dbo就是属于dbowner的一个成员.
兰山区13780822913: sql server2005里什么叫角色?分哪两种? - ?
拱习菊蓝: 分为:服务器级别角色和数据库级别的角色 服务器级别角色 固定服务器角色在其作用域内属于服务器范围.固定服务器角色的每个成员都可以向其所属角色添加其他登录名. 固定服务器角色有: bulkadmin dbcreator diskadmin ...
兰山区13780822913: 什么是角色,SQL Server有哪些角色种类? - ?
拱习菊蓝: 角色是一个强大的工具,使您得以将用户集中到一个单元中,然后对该单元应用权限.对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员.可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权...
兰山区13780822913: oracle权限和角色的区别和联系是什么 - ?
拱习菊蓝: oracle权限和角色的区别为:性质不同、主要目的不同.权限和角色的联系当建立角色时,角色没有任何权限,为了使得角色完成特定任务,必须为其授予相应的系统权限和对象权限. 每一个角色可以拥有多个权限,同时一个权限也可以同时给...
兰山区13780822913: 数据库中用户和角色的区别?
拱习菊蓝: 简单的比喻一下: 角色就相当于岗位:角色可以是经理,助理. 用户就是具体的人:比如陈XX经理,朱XX助理.
兰山区13780822913: sql server 服务器角色和数据库角色有什么区别 - ?
拱习菊蓝: 你的服务打开没有,..控制面板 服务 找到 mssqlserver 启动
兰山区13780822913: SQL SERVER 2005 使用哪三种类型的角色 ?每种角色的作用是什么? - ?
拱习菊蓝: server role:在SQL Server服务器级别的角色. database role: 在SQL Server数据库级别的角色. application role:用户设置的application连接后的角色.
兰山区13780822913: oracle中身份和角色的区别 - ?
拱习菊蓝: 权限和角色的区别在那里.当刚刚建立用户时,用户没有任何权限,也不能执行任何操作.如果要执行某种特定的数据库操作,则必须为其授予系统的权限;如果用户要访问其它方案的对象,则必须为其授予对象的权限.为了简化权...
兰山区13780822913: 关于SQL - server2000 - ?
拱习菊蓝: 角色是一个强大的工具,使您得以将用户集中到一个单元中,然后对该单元应用权限.对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员.可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权...