文档详情

7-12章公司管理数据库系统实例3.ppt

发布:2018-03-27约5.62万字共238页下载文档
文本预览下载声明
为了方便权限管理,SQL Server 2005设置了一个管理单位—角色。角色由一组用户 组成,当需要对一组功能类似的用户群体授予、修改或删除权限时,只需要对该用 户群所属的角色进行管理、设置即可,而不必对每一个用户进行管理。一个用户可 以属于不同的角色,不同的角色具有不同的权限,这样更便于分类管理。角色分为 服务器角色和数据库角色。 10.4.1 服务器角色 服务器角色负责管理和维护SQL Server 2005,在 SQL Server 2005安装时就预定义创 建了,其权限不能被修改,故也称为固定服务器角色,各种服务器角色的权限如表 10-1所示。 角色管理 表10-1 服务器角色的权限 可以管理连接服务器和启动过程 setupadmin 可以设置服务器范围的配置选项,还可以关闭服务器 serveradmin 可以在SQL Server中执行任何活动 sysadmin 权 限 描 述 角 色 名 称 可以执行BULK INSERT(大容量插入)语句 bulkadmin 可以管理磁盘文件 diskadmin 可以创建、更改和删除数据库 dbcreator 可以管理在SQL Server中运行的进程 processadmin 可以管理登录和创建数据库的权限,还可以读取错误日志和更改密码 securityadmin 权 限 描 述 角 色 名 称 10.4.2 数据库角色 数据库角色的作用限制在其对应的单个数据库的范围之内,数据库角色又分为标准 角色和应用程序角色。 1.标准角色 在创建数据库时,系统默认创建10个固定的标准角色,其权限如表10-2所示。 表10-2 数据库标准角色权限 可以发出除GRANT、REVOKE、DENY之外的所有数据定义语句 db_ddladmin 可以管理全部权限、对象所有权限,拥有角色和角色成员资格 db_securityadmin 可以添加和删除用户ID db_accessadmin 在数据库中有全部权限 db_owner 权 限 描 述 角 色 名 称 最基本的数据库角色 public 不能更改数据库内任何用户表中的任何数据 db_denydatawriter 不能选择数据库内任何用户表中的任何数据 db_denydatareader 可以更改数据库内任何表中的所有数据 db_datawriter 可以选择数据库内任何用户表中的所有数据 db_datareader 可以发出DBCC、CHECKPOINT和BACKUP语句 db_backupoperator 当在数据库中添加新用户账号时,SQL Server 2005会自动将新用户账号加入public数据库角色中。 2.应用程序角色 应用程序角色控制应用程序存取数据,本身不包括任何成员。用户只在相应程序中 具有相关权限,不能使用查询分析器或任何其他工具访问SQL Server 2005。 在编写数据库的应用程序时,可以自定义应用程序角色,让应用程序的操作能够通 过编写相应的程序来存取SQL Server 2005的数据。 3.创建角色 (1)使用对象资源管理器创建角色。 例10.10? 在companyinfo数据库中创建一个名为dbadmin的角色。 在对象资源管理器中,展开“数据库”→companyinfo→“安全性”节点,用鼠标右键单 击“角色”选项,在弹出的快捷菜单中选择“新键”→“新建数据库角色”命令,如图10-12 所示,在弹出的“数据库角色-新建”窗口中,输入相应的角色名称“dbadmin”和所有者, 选择角色拥有的架构及添加相应的角色成员即可,如图10-13所示。 图10-12 创建新角色 图10-13 设置新角色选项 USE companyinfo GO EXEC SP_ADDROLE myrole,dbo (2)使用存储过程创建角色。 使用存储过程SP_ADDROLE在当前数据库中创建新角色,其语法格式如下。 SP_ADDROLE role,owner 其中,role表示新角色的名称,owner表示新建角色的拥有者。 如果创建应用程序角色,需要使用SP_ADDAPPROLE存储过程,其语法格式如下。 SP_ADDAPPROLE role,password 其中,‘role’表示新角色的名称,‘password’表示激活角色所需的密码,以加密形式存储。 例10.11? 在companyinfo数据库中创建一个名为“myrole”的角色。 在SQL Server Management Studio查询分析器中运行以下代码。 例10.12? 在companyinfo数据库中创建一个名为“cprole”的应用程序角色。 在SQL Server Management Studio的查询分析器中运行以下代码。 US
显示全部
相似文档