SQLSERVER2005服务器角色

上传人:汽*** 文档编号:470165366 上传时间:2022-12-28 格式:DOC 页数:13 大小:99.50KB
返回 下载 相关 举报
SQLSERVER2005服务器角色_第1页
第1页 / 共13页
SQLSERVER2005服务器角色_第2页
第2页 / 共13页
SQLSERVER2005服务器角色_第3页
第3页 / 共13页
SQLSERVER2005服务器角色_第4页
第4页 / 共13页
SQLSERVER2005服务器角色_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《SQLSERVER2005服务器角色》由会员分享,可在线阅读,更多相关《SQLSERVER2005服务器角色(13页珍藏版)》请在金锄头文库上搜索。

1、服务器角色当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role)。数据库角色指定 了可以访问相同数据库对象的一组数据库用户。数据库角色的成员可以分为如下几类:Windows用户组或用户账户SQL Server 登录其他角色SQL Server的安全体系结构中包括了几个含有特定隐含权限的角色。除了数 据库拥有者创建的角色之外,还有两类预定义的角色。这些可以创建的角色可以 分为如下几类:固定服务器固定数据库用户自定义1固定服务器由于固定服务器是在服务器层次上定义的,因此它们位于从属于数据库服务器的数据库外面。表12-1列

2、出了所有现有的固定服务器角色。表12-1固定服务器角色固定服务器角色说明sysadmin执行SQL Server中的任何动作serveradmin配置服务器设置setupadmin安装复制和管理扩展过程securityadmin管理登录和CREATE DATABASE的权限以及阅读审计processadmin管理SQL Server进程dbcreator创建和修改数据库diskadmin管理磁盘文件下面两个系统过程用来添加或删除固定服务器角色成员:sp_addsrvrolemembersp_dropsrvrolemember向该服务器角色中添加其他登录您不能添加、修改或删除固定服务器角色。另外

3、,只有固定服务器角色的成员才能执行 上述两个系统过程来从角色中添加或删除登录账户。sa登录sa登录是系统管理员的登录。在以前的SQL Server版本中不存在角色,sa登录具有所有可能的关于系统管理工作的权限。在SQL Server 2005中,sa登录保持了向后兼容性。sa登录永远是固定服务器角色syadmin中的成员,并且 不能从该角色中删除。注意:只有当没有其他方法登录到 SQL Server系统中时,再使用sa登录。2固定服务器角色及其权限在某个SQL Server系统中,每个固定服务器角色都有其隐含的权限。使用 系统过程sp_srvrolepermission 可以浏览每个固定服务器

4、角色的权限。该系统 过程的语法形式为:sp_srvrolepermissionsrvrolename= role如果没有指定role的值,那么所有的固定服务器角色的权限都将显示出来。 下面的部分将讨论每个固定服务器角色的权限。2.1. sysadmin固定服务器角色sysadmin的成员被赋予了 SQL Server系统中所有可能的权 限。例如,只有这个角色中的成员(或一个被这个角色中的成员赋予了 CREATE D ATABAS权限的用户)才能够创建数据库。固定服务器角色和sa登录之间有着特殊的关系。sa登录一直都是固定服务 器角色中的成员,并且不能从该角色中删除。2.2. serveradm

5、in固定服务器角色serveradmin的成员可以执行如下的动作:运行dbcc pin table命令(从而使表常驻于主内存中)运行系统过程sp_configure(以显示或更改系统选项)运行recon figure选项(以更新系统过程sp_co nfigure所做的所有改动)使用shutdown命令关掉数据库服务器运行系统过程sp_tableoption为用户自定义表设置选项的值23 setupadmin固定服务器角色setupadmin中的成员可以执行如下的动作:向该服务器角色中添加其他登录添加、删除或配置链接的服务器执行一些系统过程,如 sp_serveroption2 . 4. sec

6、urityadmin固定服务器角色securitypadmin中的成员可以执行关于服务器访问和安全 的所有动作。这些成员可以进行如下的系统动作:向该服务器角色中添加其他登录读取SQL Server的错误日志运行如下的系统过程:女口sp_addlinkedsrvlogin 、sp_addlogin、sp_defaultdb、sp_defaultla nguage、sp_de ny log in、sp_dropli nkedsrvlogi n 、sp_droplogi n、sp_gr antlogin、sp_helplogins、sp_remoteoption 禾口 sp_revokelogin(

7、所有这些系统过 程都与系统安全相关。)2.5. processadmin固定服务器角色processadmin中的成员用来管理SQL Server进程,如中止 用户正在运行的查询。这些成员可以进行如下的动作:向该服务器角色中添加其他登录执行kill命令(以取消用户进程)2.6. dbcreator固定服务器角色dbcreator中的成员用来管理与数据库创建和修改有关的所 有动作。这些成员可以进行如下的动作:向该服务器角色中添加其他登录运行 CREATE DATABASE 和 ALTER DATABASE 语句使用系统过程sp_renamedb来修改数据库的名称2.7. diskadmin固定服

8、务器角色diskadmin的成员可以进行如下与用来存储数据库对象的文 件和文件组有关的动作:向该服务器角色中添加其他登录运行如下系统过程: sp_ddumpdevice 禾口 sp_dropdevice。运行 DISK INIT 语句3固定数据库角色固定数据库角色在数据库层上进行定义,因此它们存在于属于数据库服务器 的每个数据库中。表12-2列出了所有的固定数据库角色。表12-2固定数据库角色固定数据库角色说 明db owner可以执行数据库中技术所有动作的用户db accessadmin可以添加、删除用户的用户db_datareader可以查看所有数据库中用户表内数据的用户db datawr

9、iter可以添加、修改或删除所有数据库中用户表内数据的用户db_ddladmin可以在数据库中执行所有 DDL操作的用户db securityadmin可以管理数据库中与安全权限有关所有动作的用户db_backoperator可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这 两个语句一般在备份前都会被执行 )db denydatareader不能看到数据库中任何数据的用户db_denydatawriter不能改变数据库中任何数据的用户除了表12-2中列出的固定数据库角色之外,还有一种特殊的固定数据库角色,名为public,这里将首先介绍这一角色。public 角色publ

10、ic角色是一种特殊的固定数据库角色,数据库的每个合法用户都属于该 角色。它为数据库中的用户提供了所有默认权限。这样就提供了一种机制,即给予那些没有适当权限的所有用户以一定的(通常是有限的)权限。public角色为 数据库中的所有用户都保留了默认的权限,因此是不能被删除的。(示例12.12给出了 public角色的使用方法。)一般情况下,public角色允许用户进行如下的操作:使用某些系统过程查看并显示master数据库中的信息执行一些不需要一些权限的语句(例如PRINT)4固定数据库角色及其权限在数据库中,每个固定数据库角色都有其特定的权限。这就意味着对于某个 数据库来说,固定数据库角色的成员

11、的权限是有限的。使用系统过程sp_dbfixedrolepermission 就可以查看每个固定数据库角色的权限。该系统过程的语法 为:sp_db.xedrolepermissionrolename = role如果没有指定role的值,那么所有固定数据库角色的权限都可以显示出来。 下面的几节将讨论每个固定数据库角色的权限。4.1. db_owner固定数据库角色db_owner的成员可以在特定的数据库中进行如下的动作:向其他固定数据库角色中添加成员,或从其中删除成员运行所有的DDL语句运行 BACKUP DATABASE 和 BACKUP LOG 语句使用CHECKPOINT语句显式地启动检

12、查点进程运行下歹U dbcc 命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage授予、取消或剥夺每一个数据库对象上的下列权限:SELECT、INSERT、UPDATE、DELETE 和 REFERENCES使用下列系统过程向数据库中添加用户或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword 、sp_changeobjectowner 、sp_dropappr ole、sp_droprole、sp_droprolemember 、sp_d

13、ropuser、sp_grantdbaccess使用系统过程sp_rename为任何数据库对象重新命名42 db_accessadmin固定数据库角色db_accessadmin的成员可以执行与数据库访问有关的所有 动作。这些角色可以在具体的数据库中执行下列操作:运行下列系统过程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess为 Windows用户账户、Windows组和SQL Server登录添加或删除访问4.3. dbdatareader固定数据库角色dbdatareader的成员对数据库中的数据

14、库对象(表或视图) 具有SELECT权限。然而,这些成员不能把这个权限授予其他任何用户或角色。(这 个限制对REVOKE句来说同样成立。)4.4. dbdatawriter固定数据库角色dbdatawriter的成员对数据库中的数据库对象(表或视图) 具有INSERT UPDATE口 DELET权限。然而,这些成员不能把这个权限授予其他 任何用户或角色。(这个限制对REVOKE句来说也同样成立。)4.5. db_ddladmin固定数据库角色db_ddladmin的成员可以进行如下的动作:运行所有DDL语句对任何表上授予 REFERENCESE权限使用系统过程sp_procoption和sp_

15、recompile来修改任何存储过程的结构使用系统过程sp_rename为任何数据库对象重命名使用系统过程 sp_tableoption和sp_changeobjectowner 分别修改表的选项和任何 数据库对象的拥有者4.6. db_securityadmin固定数据库角色db_securityadmin的成员可以管理数据库中的安全。这些 成员可以进行如下的动作:运行与安全有关的所有 Transact-SQL语句(GRANT、DENY和REVOKE)运行以下系统过程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner 、sp_dropapprole、sp_droprole、sp_dropr olemember4.7. db_backupoperator固定数据库角色db_backupoperator的成员可以管理数据库备份的过程。这 些成员可以进行如下动作:运行 BACKUP DATAB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号