数据库应用技术:第12章-数据库安全管理.docx
《数据库应用技术:第12章-数据库安全管理.docx》由会员分享,可在线阅读,更多相关《数据库应用技术:第12章-数据库安全管理.docx(25页珍藏版)》请在咨信网上搜索。
第12章数据库平安管理 本章主要介绍SQL Server 2005数据平安管理中的事务的概念、特性及类型;角色的概 念、种类及作用;以及权限的层次结构。 事务、权限和角色是SQL Server 2005数据库平安管理中的重要局部。 数据库的修改是以事务为单位进行的。一个事务就是一个操作序列,这些操作要么全做, 要么全不做,它是一个不可分割的工作单位。 权限是通过角色成员来获得的。角色就是一组具有相同权限的用户的集合。不同角色中 的成员有不同的权限。 12.1 事务 事务是作为单个逻辑工作单元执行的一系列操作。事务处理可以确保只有在事务性单元 内的所有操作都成功完成的情况下,才会永久更新面向数据的资源。通过将一组相关操作组 合为一个或者全部成功或者全部失败的单元,可以简化错误恢复并使应用程序更加可靠。 例如,网上购物的一次交易,其付款过程至少包括以下数据库操作步骤。 ①更新客户所购商品的库存信息; ②保存客户付款信息,可能包括与银行系统的交互; ③生成订单并且保存到数据库中; ④更新用户相关信息,例如购物数量等等。 正常情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成 功地更新。但是,如果在这一系列过程中任何一个环节出了过失(例如在更新商品库存信息 时发生异常、该顾客银行帐户存款缺乏等),都将导致交易失败。一旦交易失败,数据库中 所有信息都必须保持交易前的状态不变,比方最后一步更新用户信息时失败而导致交易失 败,那么必须保证这笔失败的交易不影响数据库原来的状态,即库存信息没有被更新,用户 也没有付款,订单也没有生成。否那么,数据库的信息将会一片混乱而不可预测。 数据库事务正是用来保证这种情况下交易的平稳性和可预测性的技术。 事务特性 每一个事务都具有原子性、一致性、隔离性和持久性,也称为事务的ACID属性。 (1)原子性 事务必须是原子工作单元,对其数据的修改,或者全都执行,或者全都不执行。 (2)一致性 事务在完成时,必须使所有的数据都保持一致性状态。在相关数据库中,所有规那么都必 须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如B 树索引或双向链表)都必须是正确的。 色以具有某些权限。 7)在图12.4的左侧“选择页”中选择“用户映射”,可以选择映射到此登录名的数据库 用户及相应的数据库角色。 8)单击【确定】按钮,完成从Windows用户或组到SQL Server登录帐号的映射。 (2)创立SQL Server登录帐号 如果使用混合验证模式或不通过Windows用户或组连接SQL Server,那么需要在SQL Server下创立用户登录权限,使用户得以连接使用SQL Server身份验证的SQL Server 2005 Database Engine 实例。 使用图形工具创立SQL Server登录帐号的方法与将Windows用户或组映射到SQL Server登录帐号的方法相同,只是在图12.4中选择“SQL Server身份验证”,并设置登录 名及密码。 4.删除登录帐号 当不再使用某一登录帐号时应该将其删除,以保证数据库的平安性和保密性。可以使用 图形工具删除登录帐号。 1)连接到相应的Microsoft SQL Server Database Engine实例之后,在“对象资源管理器” 中,展开服务器名称,在“平安性”下选择“登录名”。 2)右击要删除的登录名,在出现的快捷菜单中选择“删除”,在出现的“删除对象”界 面中,单击【确定】按钮。 注意:删除Windows登录帐号,只是删除了到SQL Server登录帐号的映射,不能登录 到SQL Server中,但该用户没有在Windows中删除。 数据库用户 登录ID成功地进行了身份险证后,只是建立了到SQLServer的连接,要实现对数据库 及数据库对象的访问,可通过两种途径来实现:一种是登录ID与相应数据库中的用户ID相 关联来访问数据库,另一种是如果登录ID不能与任何数据库用户ID关联,但此数据库启用 了 Guest客户,那么可以通过与Guest客户相关联来访问数据库。后一种方法不提倡采用,因 为任何没有数据库权限的用户都可通过Guest客户获取数据库的访问权限,这样降低了平安 性。 SQLServer数据库用户,用于管理对指定数据库使用的对象,控制对数据库及数据库对 象的访问权限。一般地,登录ID与数据库用户ID是相同的。一个登录ID可以与多个数据 库用户相关联。用户信息均存储在数据库的系统表sysusers中。 权限的分配是通过数据库用户ID实现的,根据用户的性质合理分配最小权限。 在安装SQL Server后,默认数据库中包含两个用户:dbo和guest,即系统内置的数据 库用户。dbo代表数据库的拥有者(database owner)。每个数据库都有dbo用户,创立数据库 的用户是该数据库的dbo,系统管理员也自动被映射成dbo。 guest用户帐号在安装完SQL Server系统后被自动加入到master、pubs、lempdb数据库 中,且不能被删除。用户自己创立的数据库默认情况下不会自动加入guest帐号,但可以手 工创立。guesi用户也可以像其他用户一样设置权限。当一个数据库具有guest用户帐号时, 允许没有用户帐号的登录者访问该数据库。所以guest帐号的设立方便了用户的使用,但如 使用不当也可能成为系统平安隐患。 可以使用图形工具将要求访问数据库的登录帐户添加到数据库中成为数据库用户,并授 予其相应的活动权限,以便访问数据库。 1)连接到相应的Microsoft SQL Server Database Engine实例之后,在“对象资源管理器” 中,单击服务器名称以展开服务器树。 2)展开“数据库”,然后根据数据库的不同,选择用户数据库,如teaching。 3)展开“平安性”,右键单击其中的“用户”,然后单击“新建用户”,如图12.6所示。 J MMiNi M«n*9*f**ne Studio . 文桂(F) MbE 4®V) UI(T) WQ(W) ttE(Q iHttH) 图12.6新建用户界面 4)在出现的如图12.7所示的“数据库用户-新建”窗口中,可以设置用户名、架构及数 据库角色成员身份。 图12.7 ”数据库用户-新建”窗口 5)在图12.7中单击“登录名”右侧的【浏览】按钮,会出现图12.8所示的“选择登录 名”对话框,可以通过【浏览】按钮选择用户名,也可以直接输入用户名。用户名可以与登 录帐号名不同。设置用户名后,单击【确定】按钮,返回图12.7 “数据库用户-新建”窗口。 图12.8 ”选择登录名”对话框 6)在“此用户拥有的架构”和“数据库角色成员身份”中选择相应的架构和数据库角色,如图12.9所示,单击【确定】按钮,完成数据库用户的创立。 数索客用户.拜建送择页 对值 视全原 常安犷 三彳一 象 性 送择页 对值 视全原 常安犷 三彳一 象 性 连接 膨滔 YZM-PC 连排、.. YZM-PC\yuj 1 皿 if皆看性拾星也 避度 就绪 口脚本▼ D帮助用户名也) 。登录名Q): • jc ji rd , HZ I* rj* « 密钥名称购: C无登录名也)默认架佝6) 此用户拥有的架构(Q). 拥有的架构 db_dMa«ri tor db ddladminEl db_denydatareader : db-denydat«writer j. db_o*n” > db__s e cur i tyadn x n guest数据摩角色成员身份⑥) 数据摩角色成员身份⑥) 国包成员 db.datareader db_d*Wri t* db._ddladn.in db_denydatareadcr db_denydat«wri ter画2r 确定 I 取消 db_s«curi tyadum图12.9 ”选择登录名”对话框 角色 角色是指为管理相同权限的用户而设置的用户组,也就是说,同一角色下的用户权限都 是相同的。将一些用户添加到具体某种权限的角色中,权限在用户成为角色成员时自动生效。 在SQL Server数据库中,把相同权限的一组用户设置为某一角色后,当对该角色进行 权限设置时,这些用户就自动继承修改后的权限。这样,只要对角色进行权限管理,就可以 实现对属于该角色的所有用户的权限管理,极大地减少了工作量。 一个用户可以同时属于不同的角色,也就是说,一个用户可以同时拥有多个角色中的权 限,但这些权限不能冲突,否那么只能拥有最小的权限。 SQL Server数据库的角色通常可以分为以下三类。前两种是系统预定义的。 1 .服务器角色 服务器角色具有一组固定的权限,作用域在服务器范围内,是独立于数据库的管理特权 分组,主要实现SA、数据库创立者及平安性管理员职能,且不能更改分配给它们的权限。 具有服务器角色的用户必须绝对可靠,并且人员要少。SQL Server 2005中的服务器角色都是固定的,不允许改变。 固定服务器角色的作用域为服务器范围。固定服务器角色的每个成员都可以向其所属角 色添加其他登录名。表12.2列出了固定服务器角色的名称及权限。 表12.2固定服务器角色 固定服务器角色 权限 bulkadmin 可以运行BULK INSERT语句。 dbcreator 数据库创立者,可以创立、更改、删除和还原任何数据库。 diskadmin 用于管理磁盘文件。 processadmin 进程管理员,可以终止SQL Server实例中运行的进程。 平安管理员,管理登录名及其属性。它们可以用GRANT. DENY 和REVOKE命令授予、禁止和回收服务器级权限。也可以 security ad min GRANT. DENY和REVOKE数据库级权限。另外,它们可以重 置SQL Server登录名的密码。 serveradmin 服务器管理员,可以更改服务器范围的配置选项和关闭服务器。 设置管理员,可以添加和删除链接服务器,并且也可以执行某些 setupadmin 系统存储过程。 系统管理员,可以在服务器中执行任何活动。默认情况下, sysadmin Windows BUILTINXAdministrators组(本地管理员组)的所有成员 都是sysadmin固定服务器角色的成员。 不能添加、删除或修改固定服务器角色,只能将登录帐户添加到固定服务器角色中。 使用图形工具添加登录帐号到固定服务器角色的过程如下。 1)连接到相应的Microsoft SQL Server Database Engine实例之后,在“对象资源管理器” 中,展开服务器名称,在“平安性”选择“服务器角色”。 2)在右侧窗口中出现的当前服务器角色名中,右击要添加登录帐号的角色,如dbcreator, 在出现的快捷菜单中选择“属性”,如图12.10所示。 文苗F) MHO «B(V) IA(T) «D(W) K&O 2 y s m q YZM PC (SQL Serve,9a4033 • YZM P aoaeirtt i Cj 上 u atw 色 j服务器角色 YZMPC法宝性UB务Eft9« 4 禁 M® 幽 2 S ■ 0 £ Q9 2 R btfi 学 : 图12.10服务器角色界面 3)在出现的图12.11所示的“服务器角色属性”窗口中,单击【添加】按钮,选择要添 加的登录帐号名,也可以选择【删除】按钮删除登录帐号,设置后单击【添加】按钮完成添 加。设置后单击【确定】按钮。 图12.11”服务器角色属性”窗口 2 .数据库角色 数据库角色在数据库级别上定义,提供数据库层管理特权的分组,主要实现数据库的访 问、备份与恢复及平安性等职能。它也有一系列预定义的权限,可以直接给用户指派权限, 但在大多数情况下,只要把用户放在正确的角色中就会给予它们所需要的权限。一个用户可 以是多个角色中的成员,其权限等于多个角色权限的“和”,任何一个角色中的拒绝访问权 限会覆盖这个用户所有的其他权限。 数据库角色分为固定数据库角色和用户定义的数据库角色。固定数据库角色不允许改 变。用户定义的数据库角色只适用于数据库级别,通过用户定义的角色可以轻松地管理数据 库中的权限。 固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owncr和 db_securityadmin数据库角色的成员可以管理固定数据库角色成员身份,但只有db-owner数 据库的成员可以向db_owner固定数据库角色中添加成员。 表12.3显示了固定数据库角色到权限的映射关系。 表12.3固定数据库角色 固定数据库角色 权限 db_accessadmin 数据库访问权限管理者,可以为Windows登录帐户、Windows 组和SQL Server登录帐户添加或删除访问权限。 db_backupoperator 可以备份该数据库。 db_datareader 可以读取所有用户表中的所有数据。 db_datawriter 可以在所有用户表中添加、删除或更改数据。 db_ddladmin 可以在数据库中运行任何数据定义语言(DDL)命令。 db_denydatareader 不能读取数据库内用户表中的任何数据。 db_denydatawriter 不能添加、修改或删除数据库内用户表中的任何数据。 db_owner 数据库所有者,可以执行数据库的所有配置和维护活动。 db_securityadmin 可以修改角色成员身份和管理权限。 public 每个数据库用户都属于public数据库角色。不能将用户、组或 角色指派为public角色的成员,也不能删除public角色的成员。 与固定服务器角色一样,对固定数据库角色也不能进行添加、删除或修改等操作,只能 将数据库用户添加到固定数据库角色中。但对于数据库角色,用户可以创立及删除自定义的 数据库角色。 可以使用图形工具创立用户自定义的数据库角色,操作过程如下。 1)连接到相应的Microsoft SQL Server Database Engine实例之后,在“对象资源管理器” 中,单击服务器名称以展开服务器树。 2)展开“数据库”,然后根据数据库的不同,选择用户数据库,如teaching。 3)展开“平安性”下面的“角色”,右键单击其中的“数据库角色”,然后单击“新建数据库角色”,如图12.12所示。 1/ Micrc<c>t GQl S.rwr Man>9*rn*n,幺do 5WH MIE) «ffl(v) ZA(T)eECW) >16(0 ・《XH)HH0)・ X L HH0)・ X L 16 VZM-PC (SQL Se<v«< 9,04035 8 mLs «j ficums X 二j EK笠H • (J Adv«reureWorkt ・ U Adv<rtur»W<xk%DW 8 3 tMcKng 图以用KM类辱, 凰一霍 s)d3 dd同义反 ffiCiHTMft ffi 2 $e<Mce Broke* ffid?4 @ca平安性 由二用金 HCa^e /hMMMMMMBI ▼ X的 怨的留 N db.acce4S*dm«n 2003/4/B 0 db_b*ckupop«r«lor Z»W8 0 db.dMMe»der 2003/4/B 0 db_dM4WTfl»f 2003/4/8 %db_ddl*d<rw 2OO3/M R db.d*rydM>r«ad«f 2003/4/8 g db.derydM»wnter W03/M 勺 db.OWlMf 2003/4/8 % db.««vrif)-»dnMn 200 W8 2003/4/B 的 怨的留 N db.acce4S*dm«n 2003/4/B 0 db_b*ckupop«r«lor Z»W8 0 db.dMMe»der 2003/4/B 0 db_dM4WTfl»f 2003/4/8 %db_ddl*d<rw 2OO3/M R db.d*rydM>r«ad«f 2003/4/8 g db.derydM»wnter W03/M 勺 db.OWlMf 2003/4/8 % db.««vrif)-»dnMn 200 W8 2003/4/B :£!一 aclGaGa8G ◎ ZIH TEF 网 .数据库角色 YZMPCE6Mch”mnWfiHS•焦色10 fl图12.12新建数据库角色界面 4)在出现的如图12.13所示的“数据库角色-新建”窗口中,可以设置角色名,选择拥有 的架构,以及添加和删除属于该数据库角色的成员,设置后单击【确定】按钮。 图12.13 ”数据库角色-新建”窗口 可以使用图形工具将数据库用户添加到某数据库角色中或删除。除了在创立数据库角色 时可以添加或删除用户,也可以使用下面的过程完成添加和删除用户。 1)连接到相应的Microsoft SQL Server Database Engine实例之后,在“对象资源管理器” 中,单击服务器名称以展开服务器树。 2)展开“数据库”,然后根据数据库的不同,选择用户数据库,如teaching。 3)展开“平安性”下面的“角色”,选择“数据库角色”,在右侧出现的数据库角色名 中右击要添加或删除用户的数据库角色,出现图12.13所示的“数据库角色属性”对话框, 可以为选择的数据库角色添加或删除用户。 3.应用程序角色 应用程序角色是一个数据库主体,它使应用程序能够用其自身的、类似用户的特权来运 行。使用应用程序角色,可以只允许通过特定应用程序连接的用户访问特定数据。马数据库 角色不同的是,应用程序角色默认情况下不包含任何成员,而且是非活动的。应用程序角色 使用两种身份验证模式,可以使用sp_selapprole来激活,并且需要密码。因为应用程序角色 是数据库级别的主体,所以它们只能通过其他数据库中授予guest用户帐户的权限来访问这 些数据库。因此,任何已禁用guest用户帐户的数据库对其他数据库中的应用程序角色都是 不可访问的。 登录、用户、角色是SQL Server 2005平安机制的基础。三者联系如下: > 服务器角色和登录名相对应。 > 数据库角色和用户对应的,数据库角色和用户都是数据库对象,定义和删除时必须 选择所属的数据库。 > 一个数据库角色中可以有多个用户,一个用户也可以属于多个数据库角色。 12. 3 SQL Server的权限管理 设置用户对数据库的操作权限称为授权,SQL Server中未授权的用户将无法访问或存取 数据库数据。SQL Server通过权限管理指明哪些用户被批准使用哪些数据库对象和 Transact-SQL 语句。 SQL Server中的权限可授予用户平安帐户或用户平安帐户所属的组或角色。SQL Server 中权限可识别以下四类用户,不同类型的用户形成不同层次。 > 系统管理员(SA):服务器层权限,在服务器的所有数据库中对任何用户对象有全部 权限。 > 数据库拥有者(DBO):数据库层权限,在其拥有的数据库中对任何用户对象有全部 权限。 > 数据库对象拥有者:数据库对象层。 > 数据库对象的一般用户:数据库对象用户层。 12. 3.1权限类型 SQL Server中的权限可以分为以下三种。 1 .对象权限 对象权限(SELECT、UPDATE、INSERT、DELETE> EXEC、DRI)管理由明E些数据库用 户来使用哪些数据库对象,是处理数据或执行过程时需要的权限类别,由数据库对象拥有者 授予、废除或撤消。用户必须只授予在其工作范围内的权限,而禁止其在工作范围外的所有 活动(最小权限),以确保数据平安。 对象权限是指用户在数据库中执行与表、视图、存储过程等数据库对象有关的操作的权 限。例如,是否可以查询表或视图,是否允许向表中插入记录或修改、删除记录,是否可以 执行存储过程等。 对象权限的主要内容有: > 对表和视图,是否可以执行SELECT、INSERT、UPDATE、DELETE语句; > 对表和视图的列,是否可以执行SELECT、UPDATE语句的操作,以及在实施外键 约束时是否可以作为REFERENCES参考的列; > 对存储过程,是否可以执行EXECUTEo 2 .语句权限 语句权限是指用户创立数据库和数据库中对象(如表、视图、自定义函数、存储过程等) 的权限。例如,如果用户想要在数据库中创立表,那么应该向该用户授予CREATE TABLE语 (3)隔蜀性 由并发事务所作的修改必须与任何其他并发事务所作的修改隔离。事务识别数据时数据 所处的状态,或者是另一并发事务修改它之前的状态,或者是第二个事务修改它之后的状态, 事务不会识别中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重做 一系列事务,以使数据结束时的状态与原始事务执行的状态相同。 (4)持久性 事务完成之后,它对于系统的影响是永久性的,该修改即使出现系统故障也将一直保持。 SQL程序员要负责启动和结束事务,同时强制保持数据的逻辑一致性。程序员必须定义 数据修改的顺序,使数据相对于其组织的业务规那么保持一致。程序员将这些修改语句包括到 一个事务中,使SQL Server 2005 Database Engine能够强制该事务的物理完整性。 数据库系统应提供一种机制,保证每个事务的物理完整性。数据库引擎提供: > 锁定设备,使事务保持隔离。 > 记录设备,保证事务的持久性,即使服务器硬件、操作系统或数据库引擎实例自身 出现故障,该实例也可以在重新启动时使用事务日志,将所有未完成的事务自动地回滚到系 统出现故障的点。 > 事务管理特性,强制保持事务的原子性和一致性,事务启动之后,就必须成功完成, 否那么数据库引擎实例将撤消该事务启动之后对数据所做的所有修改。 12. 1.2事务管理 应用程序主要通过指定事务启动和结束的时间来控制事务。可以使用Transact-SQL语句 或数据库应用程序编程接口(API)函数来指定这些时间。系统还必须能够正确处理那些在事 务完成之前便终止事务的错误。 1 .事务类型 在SQL Server中有三种事务类型,分别是隐式事务、显式事务、自动提交事务,缺省 为自动提交。 (1)自动提交事务 自动提交事务是指对于用户发出的每条Transact-SQL语句,SQL Server都会自动开始一 个SQL Server事务,并且在执行后自动进行提交操作来完成这个事务,也可以说在这种事 务模式下,一个Transact-SQL语句就是一个事务。 (2)显式事务 显式事务是指在自动提交模式下以BEGIN TRANSACTION开始一个SQL Server事务, 以COMMIT或ROLLBACK结束一个SQL Server事务,以Commit结束事务是把SQL Server 事务中的修改永久化,即使这时发生断电这样的故障。例如下面是SQL Server中的一个显 式事务的例子。 BEGIN TRANSACTION UPDATE student SET SNAME=' XIE' WHERE SNO=' ST INSERT INTO student VALUES (* S9' ,' XV FM* ,21) COMMIT (3)隐式事务 隐式事务是指在当前会话中用SET IMPLICIT_TRANSACTIONS ON命令设置的事务类句权限。语句权限适用于语句自身,而不是针对数据库中的特定对象。 语句权限实际上是授予用户使用某些创立数据库对象的Transact SQL语句的权力。 只有系统管理员、平安管理员和数据库所有者才可以授予用户语句权限。 语句权限包括 CREATE DATABASE、CREATE DEFAULT、CREATE RULE、CREATE TABLE、CREATE VIEW、CREATE PROCEDURE、CREATE FUNCTION > BACKUP DATABASE、BACKUP LOG 等操作。 3.隐含权限 隐含权限是指系统自行预定义而不需要授权就有的权限,包括固定服务器角色、固定数 据库角色和数据库对象所有•者所拥有的权限。 设置权限 1 .使用图形工具设置用户或角色权限 (1)授予或拒绝语句权限 1)连接到相应的Microsoft SQL Server Database Engine实例之后,在“对象资源管理器” 中,单击服务器名称,以展开服务器树。 2)展开“数据库”,右击用户数据库,如teaching。 3)在出现的快捷菜单中选择“属性”,出现如图12.14所示的“数据库属性-teaching” 窗口。 性志 尾日 男规件 限展像芳 顾常文文选权犷适事 选*『彳-_夕_『_矛_*»_f_ 」.数据库底性-1 0 I 回与脚本▼母初助 服务总名梆G):YZIbPC苦假设照符能枚限 jtt据库名称 0!):leaching用户或角色QD: 类型 用户 钠& yin rn 连接 服务器 YZM-FC 连招: YZN-PC\yujian 进度 授权者 Alter any application role dbo Alter any assenbly db。 Alter any Azynnetric key db。 2tor any c«rti£icat« dbo 2tor My contract dbo Mt” 5y database DDL tri dbo Alter any database event n dbo Alter any dataspace dbo Alter any full text catRoc dbo yzn的H式权限电): 权限 有效权限® 授予具有授予权限拒绝 81113 … □H0BE1Q EKJBKJBn 修定 取消 图12.14“数据库属性-teaching”窗口 4)在12.14的左侧“选择页”中选择“权限”,在右侧界面中选择需要为该用户授予或 拒绝的语句权限,同时可以授予转授权限。设置后单击【确定】按钮。 (2)授予或拒绝对象权限 1)连接到相应的Microsoft SQL Server Database Engine实例之后,在“对象资源管理器” 中,单击服务器名称以展开服务器树。 2)展开“数据库”,选择用户数据库,如teaching。展开用户数据库及其下的“表”。 3)右击要设置权限的表名,如“s_c",出现如图12.15所示的“表属性-s_c”窗口。 图12.15 "表属性-s_c”窗口 4)在12.15的左侧“选择页”中选择“权限”,在右侧界面中选择需要为该用户授予或 拒绝的对象权限,同时可以授予转授权限,设置后单击【确定】按钮。 图12.13 ”数据库角色-新建”界面 2 .使用Transact-SQL命令设置用户或角色权限 (1)权限的授予 可以使用Transact-SQL命令GRANT将权限授予用户,语法格式如下。 GRANT { ALL [ PRIVILEGES ] }| permission f ( column [1) ] [] [ON securable ] TO security_account f v..,n ][WITH GRANT OPTION ] 各选项含义如下。 • ALL [ PRIVILEGES ]:授予ALL参数相当于授予以下权限。 > 如果平安对象为数据库,那么ALL表示BACKUP DATABASE、BACKUP LOG、 CREATE DATABASE^ CREATE DEFAULT. CREATE FUNCTIONsCREATE PROCEDURE> CREATE RULE、CREATE TABLE 和 CREATE VIEW 权限。 > 如果平安对象是存储过程,那么ALL表示EXECUTE权限。 > 如果平安对象为表或视图,那么ALL表示DELETE、INSERT、REFERENCES、 SELECT 和 UPDATE 权限。 • permission:当前授予的权限名称。如节所述。 • ( column [ ,...n ]):指定表中将授予其权限的列的名称。 • securable:指定将授予其权限的平安对象,可以是表、视图、存储过程等。 • TO security .account:指定权限将授予的对象或用户帐户,如当前数据库的用户与 角色、Windows用户或组、SQLServer角色。 • WITH GRANT OPTION:指示被授权者在获得指定权限的同时还可以将指定权限 授予其他用户帐户。 【例12.4】以下例如将CREATE TABLE权限授予yzm用户。 USE teachingGO GRANT CREATE TABLE TO yzmGO 【例12.5】以下例如将对student表的更新及插入权限授予yzm用户。 USE teachingGO GRANT UPDATE, INSERT on student TO yzmGO 【例12.6】以下例如将对student表的学号和姓名列的查询权限授予yzm用户。 USE teachingGO GRANT SELECT(SNO, SNAME) ON student TO yzmGO (2)权限的禁止 禁止权限就是删除以前授予用户、组或角色的权限,禁止从其他角色继承的权限,且确 保用户、组或角色将来不继承更高级别的组或角色的权限。 可以使用Transact-SQL命令DENY将权限禁止,语法格式如下。 DENY { ALL [ PRIVILEGES ] }| permission [ ( column []) ] [] [ON securable ] TO securily_account [][CASCADE] 其中:CASCADE指定授予用户禁止权限,并撤销用户的WITH GRANT OPTION权限。 【例12,71以下例如禁止yzm用户的CREATE VIEW权限。 USE teachingGO DENY CREATE VIEW TO yzmGO ⑶权限的撤销 撤销权限用于删除用户的权限,但撤销权限是删除曾经授予或拒绝的权限,并不禁止用 户、组或角色通过其他方式继承权限。撤销了用户的某一权限并不一定能够禁止用户使用该 权限,因为用户可能通过其他角色继承这一权限。 可以使用Transact-SQL命令REVOKE将授予或拒绝的权限撤销,语法格式如下。 REVOKE f GRANT OPTION FOR ]{ [ ALL [ PRIVILEGES ]] | permission [ ( column [,…,n ]) ] []) [ON securable ]{ TO | FROM } security_account [] [CASCADE] 其中:GRANT OPTION FOR将撤消授予指定权限的能力,即撤销转授权限。使用 CASCADE参数时,需要具备该功能。 【例12.8]以下例如将撤销yzm用户的CREATE TABLE权限。 USE teachingGO REVOKE CREATE TABLE FROM yzmGO 【例12.9]以下例如将撤销yzm用户对student表的学号和姓名列的查询权限。 USE teachingGO REVOKE SELECT(SNO, SNAME) ON student FROM yzmGO 习.题 一、选择题 1. 通过发出Transact-SQL BEGIN TRANSACTION语句来启动的事务是()。 A.自动提交事务B.隐式事务C.批范围的事务D.显式事务 2. SQLServer级别的主体是()。 A. Windows域登录名B.应用程序角色C. SQLServer登录名D.数据库用户 3 .默认情况下,数据库创立时包含的用户是()。 A. saB. administrator C. guestD. dba 4 .在固定数据库角色中可以向自身角色添加成员的角色是( )oA. db_securityadminB.db_accessadmin C. db_datareaderD.db_owner 5 .()是一个数据库主体,它使应用程序能够用其自身的、类似用户的特权来运行。 6. A.数据库角色 B.应用程序角色 SQL Server 2005中的默认登录帐户是( C.服务器角色 )。 D.数据库用户 A. saB. administratorC. guestD. dba 7 .事务结束时,所有的内部数据结构都必须是正确的,是事务的()0A.原子性B. 一致性C.隔离性D.永久性 8 .对表的查询权限属于( )oA.语句权限 B.对象权限C.隐含权限D.命令权限 9 .()固定服务器角色的成员可以添加和删除链接服务器。 A. setupadmin B. serveradmin 1().属于Windows级别的主体是()。 A. Windows本地登录名 C.数据库用户 C. sysadminD. processadmin B.应用程序角色 D. SQL Server 登录名 二、填空题 1. 事务的 是指或者全都执行,或者全都不执行。 2. 事务正常提交的语句是 o 3. 是SQL Server Database Engine的默认事务管理模式。 4. 是可以请求SQLServer资源的个体、组和过程。 5. 数据库用户是 级别上的主体。 6. 就是一组具有相同权限的用户的集合。 7. 应用程序主要通过指定事务 的时间来控制事务。 8. 模式是SQL Server Database Engine的默认事务管理模式。 9. 每个数据库用户都属于 数据库角色。 10. 可以使应用程序能够用其自身的、类似用户的特权来运行。 三、简答题 1. 什么是事务?事务具有哪些特性? 2. 事务有哪几种类型?每种类型的事务如何启动和结束? 3. 什么是SQLServer中的主体?主体有哪些级别? 4. SQLServer中的平安级别有哪些? 5. SQLServer中有哪些主要权限? 习题答案 一、选择题 l.D 2.C3.C4. D 5. B 6. A 7. B 8. B 9. A 1(). A二、填空题 1.原子性 2. COMMIT 3.自动提交模式 4.主体 5.数据库 6.角色7.启动和结束 8.自动提交 9. public 10.应用程序角色三、简答题 型,这时任何DML语句(DELETE、UPDATE、INSERT)都会开始一个事务,而事务的结束 也是用 COMMIT 或 ROLLBACKo 2 .启动和技术事务 使用API函数和Transact-SQL语句,可以在SQL Server Database Engine实例中将事务 作为显式、自动提交或隐式事务启动和结束。 (1)显式事务 显式事务就是可以显式地在其中定义事务的开始和结束的事务。 > BEGI- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用技术 12 安全管理
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文