版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章数据库安全保护
【本章重点】理解数据库安全性控制含义,掌握数据库安全性控制方法;理解数据库的完整性控制;理解事务的概念,掌握数据库并发控制的方法;掌握数据库备份及恢复的原理和技术。36.1数据库的安全性控制6.2数据库完整性控制6.3事务和并发控制6.4数据库恢复46.1数据库的安全性数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一。一般来说,对数据库的破坏主要来自以下4个方面:(1)非法用户(2)非法数据(3)多用户的并发访问(4)各种故障针对以上四种对数据库破坏的可能情况,数据库管理系统(DBMS)已采取相应措施对数据库实施保护,具体如下:(1)利用权限机制。(2)利用完整性约束,防止非法数据进入数据库。(3)提供并发控制(ConcurrentControl)机制,控制多个用户对同一数据的并发操作,以保证多个用户并发访问的顺利进行。(4)提供故障恢复(Recovery)能力,以保证各种故障发生后,能将数据库中的数据从错误状态恢复到一致状态2、数据库的安全标准目前国际上广泛采用的是美国标准TCSEC(TDI),在此标准中将数据库安全划分为4大类,由低到高依次为D、C、B、A。其中C级由低到高分为C1和C2,B级由低到高分为B1、B2和B3。我国的国家标准的基本结构与TCSEC相似。我国标准分为5级,从第1级到第5级依次与TCSEC标准的C级(C1、C2)及B级(B1、B2、B3)一致。76.1.2安全性控制的方法数据库的安全性是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。图6-1计算机系统的安全模型8安全性控制的一般方法用户认证存取权限控制视图隔离数据加密
审计跟踪91、用户认证用户标识与鉴别,即用户认证,是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份,每次用户要求进入系统时,由系统进行核对,通过鉴定正确后才提供机器使用权。用户标识和鉴定的方法常用的方法是通过用户名和口令。系统内部会记录着所有合法用户的标识及口令,通过比对来核实是否为合法用户,用户口令的输入不显示在屏幕上。通过用户名和口令来鉴定用户的方法简单易行,但其可靠程度差。近年来,一些更加有效的身份认证技术迅速发展起来。例如使用某种计算机过程和函数、智能卡技术,物理特征(指纹、声音、手图等)等具有高强度的认证技术。102、存取权限控制用户存取权限确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法查看或操作数据。在存取控制技术中,DBMS所管理的全体实体分为主体和客体两类。数据库存取控制机制包括两个部分:1、定义用户权限,并将用户权限记录到数据字典中2、合法性权限检查存取控制包括自主型存取控制(DAC)和强制型存取控制(MAC)两种类型。3、视图隔离离视图是是从一一个或几个基基表(或视图图)导出的表表,与基表不不同,是一个个虚表。数据据库中只存放放视图的定义义,而不存放放视图对应的的数据,这些些数据仍存放放在原来的基基本表中。在实际应用中中,常将视图图机制与存取取控制机制结结合起来使用用,首先用视视图机制屏蔽蔽一部分保密密数据,再在在视图上进一一步定义存取取权限。通过过定义不同的的视图及有选选择地授予视视图上的权限限,可以将用用户、组或角角色限制在不不同的数据子子集内。124、数据加密密加密的基本思思想是根据一一定的算法将将原始数据((术语为明文文)变换为不不可直接识别别的格式(术术语为密文)),从而使得得不知道解密密算法的人无无法获知数据据的内容。数数据解密是加加密的逆过程程,即将密文文数据转变成成可见的明文文数据。一个密码系统统包含明文集集合、密文集集合、密钥集集合和算法,,其中密钥和和算法构成了了密码系统的的基本单元。。算法是一些些公式、法则则或程序,它它规定明文与与密文之间的的变换方法,,密钥可以看看作算法中的的参数。加密方法可分分为对称加密密与非对称加加密两种。135、审计跟踪踪审计功能是一一种监视措施施,它跟踪记记录有关数据据的访问活动动。审计功能把用用户对数据库库的所有操作作自动记录下下来,存放在在审计日志文文件中。常用两种审计计方式包括用用户审计和系系统审计。146.1.3SQLServer2012的安全性策策略SQLServer2012的的安全模型分分为三层结构构,分别为服服务器安全管管理、数据库库安全管理和和数据库对象象的访问权限限管理:第一层安全性性是SQLServer服务器器级别的安全全性。建立在在控制服务器器登陆账号和和密码的基础础上。第二层安全性性是数据库级级别的安全性性。即是否否具有访问某某个数据库的的权利。第二层安全性性是数据库对对象级别的安安全性。15SQLServer2012的身身份验证模式式Windows身份验证证模式Windows身份验证证模式使用由由Windows授权的的用户,并允允许通过身份份验证的用户户登陆SQLServer2012。用户登登录到SQLServer2012时,只需需选择Windows身身份验证模式式,无需再提提供登录帐户户和密码,系系统会从用户户登录到Windows时提供的用用户名和密码码中查找用户户的登录信息息,以判断其其是否为SQLServer2012的合法法用户。该模式是SQLServer2012的默认认登陆模式,,支持Windows的的密码策略和和锁写策略。。16TCP/IPSockets命名管道SQLServer身身份验证模式式Windows身份验证证模式混合验证模式式混合身份验证证模式允许以以SQLServer身份验证模模式或者Windows身份验证模模式来进行验验证。如果在混合模模式下选择使使用SQLServer授权用户户登录SQLServer2012,则用户户必须提供登登录名和密码码,SQLServer使用这两两部分内容来来验证用户,,SQLServer2012通通过检查是否否已设置SQLServer登录录帐户,以及及指定的密码码是否与记录录的密码匹配配,进行身份份验证。17SQLServer在在安装时,会会自动创建一一个DB服务务器的登录用用户sa,即即系统管理员员,用以创建建其他登录用用户和授权。。SQLServer2012保障障服务器作用用域安全可以以通过管理登登陆名来实现现。创建服务器的的登录账号利用EnterpriseManage利用存储过程程EXECsp_addlogin'登录账账号名称','密码','默认认数据库名','使用用的语言'[例]建立立了一个名称称为Jake的登录账号号。EXECsp_addlogin'Jake',‘‘p2015','Teach',NULL18SQLServer的的服务器角色色角色(Role)是对权权限集中管理理的一种机制制,将不同的的权限组合在在一起就形成成了一种角色色。服务器角色是是执行服务器器级管理操作作的用户权限限的集合。192、SQLServer的数据库库用户数据库的用户户账号用户账号要在在特定的数据据库内创建,,并关联一个个登录账号((当一个数据据库的用户创创建时,必须须关联一个登登录账号)。。每个登录账号号在一个数据据库中只能有有一个用户账账号,但每个个登录账号可可以在不同的的数据库中各各有一个用户户账号。注意:登录账号具有有对某个数据据库的访问权权限,并不表表示该登录账账号对该数据据库具有存取取的权限。20查看数据库的的用户账号利用存储过程程EXECsp_helpuser创建数据库的的用户账号使用存储过程程sp_adduser'登录账号号','用用户账号','所属的的数据库角色色'设置数据库用用户账号的权权限对数据库对象象的操作,具具体含义如下下SELECT:对表或者者视图进行查查询。INSERT:在表或者者视图中插入入记录。UPDATE:对表或者者视图中的数数据进行修改改。DELETE:删除表或或者视图中的的数据。EXEC:执执行存储过程程。DRI:可对对表的外键加加以限制,以以完成表的参参照完整性。。3、存取控制制SQLServer对对权限的管理理包含如下三三个内容:(1)授予权权限:允许用用户或角色具具有某种操作作权。(2)收回权权限:删除以以前在当前数数据库内的用用户上授予或或拒绝的权限限。(3)拒绝权权限:拒绝给给当前数据库库内的安全帐帐户授予权限限并防止安全全帐户通过其其组或角色色成员继承权权限。在SQLServer2012中中,权限分为为对象权限、、语句权限和和隐含权限三三种。(1)对象权权限对象权限是指指用户对数据据库中的表、、视图等对象象的操作权,,相当于数据据操作语言的的语句权限。。表、视图的的权限包括SELECT、INSERT、DELETE、、UPDATE。列的权权限包括SELECT和和UPDATE。存储过过程的权限包包括EXECUTE。①授权语句::GRANT对对象权限限名[,…]ON{表名|视图名名|存储储过程名}TO{数据库用用户名|用用户角色名名}[,…][WITHGRANTOPTION]例如GRANTSELECT,INSERTONCustomerTOuser1WITHGRANTOPTION.该语句把对Customer表的查查询权和插入入权授予给用用户user1,user1同时获获得将这些权权限转授给别别的用户的权权限。②收回权限语语句:REVOKE对象权权限名[,……]ON{表名名|视图图名|存存储过程名}FROM{数数据库用户名名|用户角色色名}[,……][RESTRICT|CASCADE]例如REVOKEINSERTONStudentFROMuser1CASCADE该语句表示从从用户user1处收回回对Student表的的插入权,若若user1已把获得的的对Student表的的插入权转授授给其他用户户,则连锁收收回。③拒绝权限语语句:DENY对对象权限名名[,…]ON{表名|视视图名|存储过程程名}TO{数数据库用户名名|用户角色色名}[,……]例如DENYUPDATEONCustomerTOuser1该语句表示拒拒绝用户user1对Customer表进行行修改(2)语句权权限语句权限是指指创建数据库库或数据库中中的项目的权权限,相当于于数据定义语语言的语句权权限。语句权限包括括CREATEDATABASE、CREATETABLE、CREATEVIEW、CREATEDEFAULT、CREATERULE、CREATEFUNCTION、CREATEPROCEDURE、BACKUPDATABASE、BACKUPLOG。。①授予权限语语句:GRANT语语句权限限名[,…]TO{数据库库用户名|用用户角色名}[,…]【例6-1】授予用户户user1创建数据库库表的权限GRANTCREATETABLETOuser1②收回权限语语句:REVOKE语句权权限名[,……]FROM{数据库用户户名|用户角角色名}[,,…]【例6-2】收回用户户user1创建数据库库表的权限REVOKECREATETABLEFROMuser1③拒绝权限语语句:DENY语语句权限名名[,…]TO{数据库用用户名|用户户角色名}[,…]【例6-3】拒绝用户户user1创建视图的的权限DENYCREATEVIEWTOuser1(3)隐含权权限隐含权限是指指由SQLServer预定义的的服务器角色色、数据库角角色、数据库库拥有者和数数据库对象拥拥有者所具有有的权限。隐隐含权限是由由系统预先定定义好的,相相当于内置权权限,不需要要再明确地授授予这些权限限。例如,数数据库拥有者者自动地拥有有对数据库进进行一切操作作的权限。4、视图通过定义不同同的视图及有有选择地授予予视图上的权权限,可以将将用户、组或或角色限制在在不同的数据据子集内。【例6-4】用户user1只能能检索Customer表中性别为为女的客户信信息,可以先先建立视图CS_Customer,再给user1授予予对CS_Customer的查询询权。CREATEVIEWCS_CustomerASSELECT*FROMCustomerWHEREcsex='女女';GRANTSELECTONCS_CustomerTOuser1;5、数据加密密MicrosoftSQLServer的的加密机制可可以对SQLSercer中存储储的登录和应应用程序角色色密码、作为为网络数据包包而在客户端端和服务器端端之间发送的的数据、存储储过程定义、、函数定义、、视图定义、、触发器定义义、默认值定定义、规则定定义等数据库库对象进行加加密。6.审计MicrosoftSQLServer2012提提供审计功能能,用以跟踪踪和记录每个个SQLServer实例上已发发生的活动((如成功和失失败的记录))。SQLServer2012还还提供管理审审计记录的接接口,即SQL事件探查查器。316.2数数据库完整性性控制6.2.1数数据库完完整性的概述述数据库的完整整性是指数据据库中数据的的正确性、有有效性和相容容性,其主要要目的是防止止错误的数据据进入数据库库造成无效操操作。正确性是指数数据的合法性性,例如数值值型数据只能能含有数字而而不能含有字字母。有效性性是指数据是是否属于所定定义域的有效效范围。相容容性是指表示示同一事实的的两个数据应应当一致,不不一致即是不不相容。数据库管理理系统的完完整性控制制机制应具具有三个方方面的功能能,来防止止合法用户户在使用数数据库时,,向数据库库注入不合合法或不合合语义的数数据:(1)定义义功能,提提供定义完完整性约束束条件的机机制。(2)验证证功能,检检查用户发发出的操作作请求是否否违背了完完整性约束束条件。(3)处理理功能,如如果发现用用户的操作作请求使数数据违背了了完整性约约束条件,,则采取一一定的动作作来保证数数据的完整整性。336.2.2完整整性约束条条件的分类类从约束条件件使用的对对象分值的约束和和结构的约约束值的约束即即主要是对对数据类型型、数据格格式、取值值范围和空空值等进行行规定。(1)对数数据类型的的约束,包包括数据的的类型、长长度、单位位和精度等等。(2)对数数据格式的的约束。(3)对取取值范围的的约束。(4)对空空值的约束束。结构的约束束即对数据据之间联系系的约束。。(1)函数数依赖约束束。(2)实体体完整性约约束。(3)参照照完整性约约束。(4)统计计约束。34从约束对象象的状态分分静态约束和和动态约束束静态约束静态约束是是指数据库库每一确定定状态时的的数据对象象所应满足足的约束条条件,它是是反映数据据库状态合合理性的约约束,是最最重要的一一类完整性性约束。上上面介绍的的值的约束束和结构的的约束均属属于静态约约束。动态约束动态约束是是指数据库库从一个正正确状态向向另一个正正确状态的的转化过程程中新、旧旧值之间所所应满足的的约束条件件,反映数数据库状态态变迁的约约束。例如,更新新职工表时时,工资、、工龄这些些属性值一一般只会增增加,不会会减少。6.2.3SQLServer2012的数数据库完整整性策略366.3事事务和并并发控制数据库系统统是面向多多用户的。。当多个用用户同时访访问数据库库时如何保保证数据的的一致性和和有效性??事务控制制和并发处处理为多用用户同时访访问数据库库问题的解解决提供了了一种有效效的途径。。事务是数据据库并发控控制技术涉涉及的基本本概念,是是并发控制制的基本单单位。37事务(Transaction)是指指作为单个个逻辑工作作单元执行行的一系列列数据库操操作。一个事务可可以是一组组SQL语语句、一条条SQL语语句或整个个程序,一一个应用程程序可以包包括多个事事务。一个事务内内的所有语语句被作为为整体执行行,要么全全部执行,,要么全部部不执行。。6.3.1事务务的概念和和特点38事务的特征征原子性(Atomicity)事务是数据据库操作的的逻辑工作作单位。就就操作而言言,事务中中的操作是是一个整体体,不能再再被分割,,要么全部部成功执行行,要么全全部不成功功执行。一致性(Consistency)事务一致性性是指事务务执行前后后都能够保保持数据库库状态的一一致性,即即事务的执执行结果是是将数据库库从一个一一致性状态态变到另一一个一致性性状态。隔离性(Isolation)隔离性是指指多个事务务在执行时时不互相干干扰。事务务具有隔离离性意味着着一个事务务的内部操操作即其使使用的数据据库对其他他事务是不不透明的,,其他事务务不会干扰扰这些操作作和数据。。持久性(Durability)指事务一旦旦提交,则则其对数据据库中数据据的改变就就应该是永永久的,即即使是出现现系统故障障等问题,,DBMS也应该能能恢复。为了充分利利用数据库库资源,很很多时候数数据库用户户都是对数数据库系统统并行存取取数据,因因此会发生生多个用户户并发存取取同一数据据块的情况况。若对并并发操作不不加控制可可能会产生生不正确的的数据,破破坏数据的的完整性。。并发控制制就是解决决这类问题题,以保持持数据库中中数据的一一致性,即即在任何一一个时刻数数据库都将将以相同的的形式给用用户提供数数据。6.3.2并发控制制概述40【例6-5】并发发火车订票票操作。以以下为火车车订票系统统中的一个个活动序列列:①甲售票票点(甲事事务)读出出某车次的的火车票余余额A,设设A=25;②乙售票票点(乙事事务)读出出同一车次次的火车票票余额A,,也为25③甲售票票点卖出一一张火车票票,修改余余额A←A-1,所所以A为24,把A写回数据据库;④乙售票票点也卖出出一张火车车票,修改改余额A←←A-1,,所以A为24,把把A写回数数据库。结果明明卖卖出两张火火车票,数数据库中火火车票余额额却只减少1,是是因为乙事事务的修改改覆盖了甲甲事务的修修改,而这这种情况就是甲甲乙两个事事务并发操操作而引起起的数据不不一致性。。41表6-2丢丢失修修改42数据库的并并发操作导导致的数据据库不一致致性主要有有以下三种种:丢失更新((LostUpdate))当两个事务务T1和T2读入同同一数据,,并发执行行修改操作作时,T2把T1或或T1把T2的修改改结果覆盖盖掉,造成成了数据的的丢失更新新问题,导导致数据的的不一致。。污读(DirtyRead)事务T1更更新了数据据R,事务T2读取了更更新后的数数据R,事务T1由于某种种原因被撤撤销,修改改无效,数数据R恢复原值。。事务T2得到的数数据与数据据库的内容容不一致,,这种情况况称为“污读”。不可重读((UnrepeatableRead)事务T1读读取了数据据R,事务T2读取并更更新了数据据R,当事务T1再读取取数据R以进行核对对时,得到到的两次读读取值不一一致,这种种情况称为为“不可重读”。43表6-3不不可重复复读表6-4读读“脏””数据456.3.3封锁锁和封锁协协议并发控制的的主要技术术包括封锁锁(Locking)、时间间戳(Timestamp)和乐观控控制法。商商用的DBMS一般般都采用封封锁方法。。封锁类型((LockType)锁就是事务务T在对某某个数据对对象(例如如表、记录录等)操作作之前,先先向系统发发出请求,,对其进行行加锁,以以保证数据据操作的正正确性和一一致性。46基本的封锁锁类型有两两种排它锁(ExclusiveLock)排它锁又称称为写锁。。若事务T对数据对对象A加上上X锁,则则只允许T读取和修修改A,其其他任何事事务都不能能再对A加加任何类型型的锁,直直到T释放放A上的锁锁。共享锁(ShareLock)共享封锁又又称读封锁锁,简称为为S锁,若若事务T对对数据对象象A加上S锁,则事事务T可以以读A但不不能修改A,其他事事务只能再再对A加S锁,而不不能加X锁锁,直到T释放A上上的S锁。。封锁协议((LockProtocol)封锁可以保保证合理地地进行并发发控制,保保证数据的的一致性。。在封锁时,,要考虑一一定的封锁锁规则,例例如,何时时开始封锁锁、封锁多多长时间、、何时释放放等,这些些封锁规则则称为封锁锁协议。47上面讲述过过的并发操操作所带来来的丢失更更新、污读读和不可重重读等数据据不一致性性问题,可可以通过三三级封锁协协议在不同同程度上给给予解决::一级封锁协协议事务T在修修改数据R之前必须须先对其加加X锁,直直到事务结结束才释放放。二级封锁协协议一级封锁协协议加上事事务T在读读取数据R之前必须须先对其加加S锁,读读完后即可释释放S锁。。三级封锁协协议一级封锁协协议加上事事务T在读读取数据R之前必须须先对其加加S锁,直直到事务结束束才释放。。48表6-5解解决丢失失修改问题题49表6-6解解决读““脏”数据据问题50表6-7解解决不可可重复读问问题51封锁粒度((LockGranularity)并发控制程程序选择的的作为保护护单位的数数据项的大大小被称为为封锁粒度度。根据对数据据的不同处处理,封锁锁的对象可可以是这样样一些逻辑辑单元:字字段、记录录、表、数数据库等。。封锁粒度越越小,系统统中被封锁锁的对象就就越多,并并发性就越越高,但封封锁机构越越复杂,系系统开销就就越大;封锁粒度越越大,系统统中被封锁锁的对象就就越少,并并发性就越越低,但封封锁机构越越简单,系系统开销就就越小。52活锁和死锁锁活锁(Livelock)若事务T1对数据A进行X排排他封锁,,由于其他他事务对该该数据的操操作而使事事务T1一一直处于等等待状态,,这种状态态成为活锁锁。死锁(Deadlock)在同时处于于等待状态态的两个或或多个事务务中,其中中的每一个个在它能够够进行之前前,都等待待着某个数数据,而这这个数据已已被它们中中的某个事事务所封锁锁,这种状状态称为死死锁。53表6-8活活锁54表6-9死死锁55目前,在数数据库中解解决死锁问问题主要包包括两种方方法:(1)死锁锁的预防一次加锁法法:一次封锁法法要求是每每个事务一一次将所有有要使用的的数据项全全部加锁,,否则就不不能继续执执行。顺序加锁法法:顺序封锁法法是预先对对数据对象象规定一个个封锁顺序序,所有事事务都按照照这个顺序序进行封锁锁。(2)死锁锁的诊断与与解除数据库系统统中诊断死死锁的方法法与操作系系统类似,,一般使用用超时法或或事务等待待图法。设法解除死死锁,通常常采用的方方法是选择择一个处理理死锁代价价最小的事事务,将其其撤消,释释放此事务务所持有的的全部锁,,使其他事事务得以继继续运行下下去。6.3.5SQLServer2012的的并发控制制根据事务的的设置、用用途的不同同,SQLServer2012将事务分分为多种类类型。(1)根据据系统的设设置分类根据系统的的设置,SQLServer2012将事事务分为两两种类型::系统提供供的事务和和用户定义义的事务(2)根据据运行模式式分类根据运行模模式,SQLServer2012将事务务分为四种种类型:自自动提交事事务、显示示事务、隐隐式事务和和批处理级级事务。(3)事务务处理语句句BEGINTRANSACTION语句,事事务开始。。COMMITTRANSACTION语句,,成功提交交事务。ROLLBACKTRANSACTION语语句,事务务回滚。SAVETRANSACTION语语句,事务务内设置保保存点。(4)事务务的启动在SQLServer中,,启动事务务的方式有有三种:显显示启动、、自动提交交和隐式启启动。(5)终止止事务终止方法有有两种,一一种是使用用COMMIT命令令(提交命命令),另另一种是使使用ROLLBACK命令((回滚命令令)。但这这俩种方法法有本质上上的区别;;当执行COMMIT命令是是,会将语语句执行结结果保存到到数据库中中,并终止止事务;当当执行ROLLBACK命令令时,数据据库将返回回到事务开开始时的初初始状态,,并终止事事务。2、锁SQLServer数据据库引擎使使用不同的的锁模式锁锁定资源,,这些锁模模式确定了了并发事务务访问资源源的方式。。SQRSERVER2012提提供了以以下锁模式式,如表6-10所所示。表6-10锁模式式616.4数数据库的恢恢复数据库恢复复是指当数数据库发生生故障时,,将数据库库从错误状状态恢复到到某一已知知的正确状状态(亦称称为一致状状态或完整整状态)的的过程。数据库恢复复的基本原原理就是利利用数据的的冗余。而而数据库恢恢复机制涉涉及的两个个关键问题题就是如何何生成冗余余数据以及及如何利用用这些冗余余数据恢复复数据库。。生成冗余数数据对可能发生生的故障作作某些准备备冗余重建利用这些冗冗余数据恢恢复数据库库登记日志文文件数据转储62数据转储((DataDump)数据转储((也成为数数据库备份份)是数据据库管理员员定期地将将整个数据据库复制到到辅助存储储设备上,,比如磁带带、磁盘等等。当数据据库遭到破破坏后可以以利用转储储的数据库库进行恢复复,但这种种方式只能能将数据库库恢复到转转储时的状状态,若想想恢复到故故障发生时时的状态,,则必须利利用转储后后的事务日日志,重新新执行日志志中的事务务。按照照转转储储状状态态,,数数据据转转储储可可以以分分为为静静态态转转储储和和动动态态转转储储。。按照照转转储储方方式式,,数数据据转转储储还还可可以以分分为为海海量量转转储储和和增增量量转转储储两两种种方方式式。。63登记记日日志志文文件件日志志文文件件是是用用来来记记录录事事务务对对数数据据库库的的更更新新操操作作的的文文件件。。典型型的的日日志志文文件件主主要要包包含含以以下下内内容容::(1))操操作作的的事事务务标标识识((标标明明是是哪哪个个事事务务));;(2))操操作作类类型型((插插入入、、删删除除或或修修改改));;(3))操操作作对对象象((记记录录内内部部标标识识));;(4))更更新新前前数数据据的的旧旧值值((对对插插入入操操作作,,此此项项为为空空值值));;(5))更更新新后后数数据据的的新新值值((对对删删除除操操作作,此此项项为为空空值值));;(6))事事务务开开始始、、结结束束及及回回写写时时间间。。登记记日日志志文文件件时时必必须须遵遵循循以以下下两两条条原原则则::(1))登登记记的的次次序序严严格格按按照照并并发发事事务务执执行行的的时时间间次次序序。。(2))必必须须先先写写日日志志文文件件,,后后写写数数据据库库。。646.4.4数据据库库故故障障和和恢恢复复的的策策略略故障障可可分分为为::事事务务故故障障、、系系统统故故障障、介质质故故障障和计计算算机机病病毒毒引引起起的的故故障障。1、、事务务故故障障及及其其恢恢复复事务务故故障障意意味味着着事事务务没没有有达达到到预预期期的的终终点点((COMMIT或或ROLLBACK))。。在此此讨论论的的事事务务故故障障均均指指非非预预期期的的故故障障。。这类类恢恢复复操操作作称称为为事事务务撤撤销销((UNDO)),,具具体体做做法法如如下下::(1))反反向向扫扫描描日日志志文文件件,,即即从从最最后后向向前前扫扫描描日日志志文文件件,,查查找找该该事事务务的的更更新新操操作作。。(2))对对该该事事务务的的更更新新操操作作执执行行逆逆操操作作。。(3))继继续续反反向向扫扫描描日日志志文文件件,,查查找找该该事事务务的的其其他他更更新新操操作作,,并并做做同同样样处处理理,,直直到到读读到到此事事务务的的开开始始标标记记。。652、、系统统故故障障及及其其恢恢复复系统统故故障障是是指指造造成成系系统统停停止止运运转转、、系系统统要要重重新新启启动动的的故故障障。。恢复复的的具具体体做做法法如如下下::(1))正正向向扫扫描描日日志志文文件件,,即即从从头头开开始始扫扫描描日日志志文文件件。。(2))对对撤撤消消队队列列中中的的各各个个事事务务进进行行撤撤消消处处理理。。(3))对对重重做做队队列列中中的的各各个个事事务务进进行行重重做做处处理理。。66介质质故故障障和计计算算机机病病毒毒引引起起的的故故障障及其恢复介质故障指外外存故障,如如磁盘损坏等等,磁盘上的的物理数据和和日志文件可可能会被破坏坏。计算病毒是可可以自我复制制且具有破坏坏性的计算机机程序,极易易传播,且也也可以对数据据库造成毁灭灭性的破坏。。恢复的具体做做法如下:(1)加载最最新的数据库库副本(离故故障发生时刻刻最近的转储储副本),使使数据库恢复复到最近一次次转储时的一一致性状态。。(2)装入最最新的日志文文件副本,重重做已完成的的事务。首先先扫描日志文文件,找出故故障发生时已已提交的事务务的标识,将将其记入重做做队列。然后后正向扫描日日志文件,对对重做队列中中的所有事务务进行重做处处理。即将日日志记录中““更新后的值值”写入数据据库。6.4.5SQLServer2012恢恢复策略备份是对SQLServer数据据库或事务日日志进行复制制,数据库备备份记录了在在进行备份这这一操作时数数据库中所有有数据的状态态,如果数据据库因意外而而损坏,这些些备份文件将将在数据库还还原时用来还还原数据库。。还原就是把遭遭受破坏、丢丢失的数据或或出现错误的的数据库还原原到原来的正正常状态。1、SQLServer常用备份类型(1)完整备备份。(2)差异备备份。(3)事务日日志备份。(4)文件或或文件组备份份。2、恢复模式式SQLServer2012具有有三种数据库库恢复模式::(1)简单恢恢复模式(2)完整恢恢复模式(3)大容量量日志恢复模模式9、静夜夜四无无邻,,荒居居旧业业贫。。。12月月-2212月月-22Wednesday,December28,202210、雨雨中中黄黄叶叶树树,,灯灯下下白白头头人人。。。。21:14:1121:14:1121:1412/28/20229:14:11PM11、以我独沈沈久,愧君君相见频。。。12月-2221:14:1121:14Dec-2228-Dec-2212、故故人人江江海海别别,,几几度度隔隔山山川川。。。。21:14:1121:14:1121:14Wednesday,December28,202213、乍见见翻疑疑梦,,相悲悲各问问年。。。12月月-2212月月-2221:14:1121:14:11December28,202214、他乡生生白发,,旧国见见青山。。。28十十二月20229:14:11下午午21:14:1112月-2215、比比不不了了得得就就不不比比,,得得不不到到的的就就不不要要。。。。。十二二月月229:14下下午午12月月-2221:14December28,202216、行动出成果果,工作出财财富。。2022/12/2821:14:1121:14:1128December202217、做前前,能能够环环视四四
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主管护士考试题目及答案
- 2025年消毒类试题及答案
- 2025年税务师税法考试题及答案
- 继电保护及安全基础知识题目(附答案)
- 2025安全员考试精准题库及答案解析
- 2025年淄博高考猜题题库及答案
- 保育员正规考试题及答案
- 2025年虚拟变量应用试题及答案
- 兽药无菌制剂试题及答案
- 2025年税务公文写作真题及答案
- 船舶运营风险的精准管理与控制-洞察及研究
- 渝22TS02 市政排水管道附属设施标准图集 DJBT50-159
- 商业道德政策培训课件
- CJ/T 434-2013超声波水表
- 肝衰竭诊治进展
- 肌电图培训课件
- 计算国内航空货物运费国内航空货物运费的计算方法国内航空
- 2022浪潮英信服务器NP5570M5产品技术白皮书V2.0
- 【MOOC】知识图谱导论-浙江大学 中国大学慕课MOOC答案
- 学校降温情况报告范文
- 《生活污水处》课件
评论
0/150
提交评论