




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、事务管理课件第8章 事务管理 事 务 并发控制 恢 复 事务管理课件事事 务务 l事务的概念 l事务的性质 l可串行性和隔离级别 lSQL对事务的支持 事务管理课件事务的概念事务的概念l事务是构成单一逻辑工作单元的操作集合。 l为什么需要事务的概念呢? 恢复的需要并发操作的需要事务管理课件事务的性质事务的性质 l原子性(Atomicity) l一致性(Consistency) l隔离性(Isolation) l持久性(Durability) 事务的这些性质通常称为ACID特性 事务管理课件原子性原子性 l事务的原子性强调了一个事务是一个逻辑工作单元,是一个整体,是不可分割的。一个事务所包含的操
2、作要么全部做,要么全部不做。 事务管理课件一致性一致性 l一个事务执行一项数据库操作,事务将使数据库从一种一致性的状态变换成另一种一致性状态。 l在事务执行前,总是假设数据库是一致的,那么当事务成功执行后,数据库肯定仍然是一致的。 事务管理课件隔离性隔离性 l如果每个事务单独执行能保持原子性和一致性,这些事务并发执行也能保持原子性和一致性,则是事务的隔离性。事务管理课件持久性持久性 l事务的持久性是指一旦事务成功完成,该事务对数据库所施加的所有更新都是永久的。 事务管理课件可串行性可串行性l可串行性通常看作是多个事务并发执行的正确性准则。具体判定方法如下:各单个事务如能将数据库从一个正确状态转
3、变为另一个正确状态,则认为该事务是正确的; 按任何一个串行顺序依次执行多个事务也是正确的(这里的串行顺序假定各个事务间彼此独立、不交叉); 事务的交叉执行过程是正确的,当且仅当其与串行执行过程等价,则事务是可串行化的。 事务管理课件隔离级别隔离级别 l隔离性虽然是事务的基本性质之一,但是彻底的隔离意味着并发操作效率的降低。所以人们设想在避免干扰的前提下,适当地降低隔离的级别,从而提高并发的操作效率。隔离级别越低,并发操作的效率越高,但是产生干扰的可能性也越大;隔离级别越高,则并发操作的效率越低,同时产生干扰的可能性也越小。在设计应用时,可以在所能容忍的干扰程度范围内,尽可能的降低隔离级别,从而
4、提高应用的执行效率。 事务管理课件隔离级别隔离级别l在SQL标准中定义了下列四种隔离级别,SQL Server支持所有这些隔离级别: 未提交读(READ UNCOMMITTED):事务隔离的最低级别,仅可保证不读取物理损坏的数据,这是四个隔离级别中限制最小的级别。 提交读(READ COMMITTED):SQL Server默认级别,可以保证不读取“脏”数据。 可重复读(REPEATABLE READ):可以保证读一致性,避免不一致分析问题。 可串行化(SERIALIZABLE):事务隔离的最高级别,事务之间完全隔离;如果事务在可串行化隔离级别上运行,则可以保证任何并发重叠事务均是串行的。 事
5、务管理课件隔离级别隔离级别四种隔离级别所允许的不同类型的行为 事务必须运行于可重复读或更高的隔离级别才可以防止丢失更新。 事务管理课件隔离级别隔离级别l设置隔离级别的命令是: SET TRANSACTION ISOLATION LEVEL READ COMMITTED | READ UNCOMMITTED | REPEATABLE READ | SERIALIZABLE 事务管理课件SQL对事务的支持对事务的支持 l开始事务 l结束事务 l事务保存点 l隐含事务与自动提交 事务管理课件开始事务开始事务 l使用BEGIN TRANSACTION命令显式说明一个事务开始,它说明了对数据库进行操作的
6、一个单元的起始点。在事务完成之前出现任何操作错误和故障,都可以撤销事务,使事务回退到这个起始点。 事务管理课件结束事务结束事务 l成功结束事务的命令是COMMIT TRANSACTION,它的作用是提交或确认事务已经完成,所以该命令也称作事务提交。 l撤消事务的命令是ROLLBACK TRANSACTION,即撤消在该事务中对数据库所做的更新操作,使数据库回退到事务的起始点。 事务管理课件事务保存点事务保存点 lSQL标准还支持“事务保存点”技术,所谓事务保存点就是在事务的过程中插入若干标记,这样当发现事务中有操作错误时,可以不撤消整个事务,只撤消部分事务,即将事务回退到某个事务保存点。 事务
7、管理课件事务保存点事务保存点lSQL Server支持事务保存点技术,设置保存点的命令是SAVE TRANSACTION(在SQL标准中是SAVEPOINT命令),具体格式是: SAVE TRANSACTION savepoint_namel撤消部分事务或回退到事务保存点的命令也是ROLLBACK TRANSACTION,具体格式是: ROLLBACK TRANSACTION savepoint_name事务管理课件事务保存点事务保存点l在SQL标准中还支持取消事务保存点的命令RELEASE SAVEPOINT,在SQL Server目前的版本中不支持取消事务保存点。 事务管理课件隐含事务与自
8、动提交隐含事务与自动提交 lSQL标准规定事务的开始是隐含的,在发出COMMIT(提交事务)或ROLLBACK(撤消事务)命令之前,该事务将一直保持有效。一个事务被提交或撤消之后,又将自动启动下一个新事务。 事务管理课件隐含事务与自动提交隐含事务与自动提交lSQL Server也可以设置成隐含事务方式,设置隐含事务方式的命令是: SET IMPLICIT_TRANSACTIONS ONl取消隐含事务方式的命令是: SET IMPLICIT_TRANSACTIONS OFF事务管理课件隐含事务与自动提交隐含事务与自动提交l当 是 隐 含 事 务 方 式 时 , 不 需 要 用 B E G I N
9、 TRANSACTION命令显式的启动或开始一个事务,但需要用COMMIT或ROLLBACK命令结束事务;l当是非隐含事务方式时,如果没有用BEGIN TRANSACTION命令显式的启动或开始一个事务,则每条操作数据库的语句都将作为独立的事务被自动提交或撤消,这时候不需要、也不能执行COMMIT或ROLLBACK命令。事务管理课件并发控制并发控制 l干扰问题 l解决干扰封锁 l封锁不当死锁 l封锁与隔离级别 事务管理课件干扰问题干扰问题 l丢失更新问题 l未提交依赖问题 l不一致分析问题 l幻象读问题 事务管理课件丢失更新问题丢失更新问题 l例:旅客A来到A售票处,要买一张15日北京到上海的
10、13次直达快速列车的软卧车票,售票员A(下称用户A)在终端A查看剩余票信息; 几乎在同时,旅客B来到B售票处,也要买一张15日北京到上海的13次直达快速列车的软卧车票,售票员B(下称用户B)从终端B查到了同样的剩余票信息; 旅客A买了一张15日13次7车厢5号下铺的软卧票,用户A更新剩余票信息并将它存入数据库; 这时用户B不知道用户A已经将15日13次7车厢5号下铺的软卧票卖出,使旅客B也买了一张15日13次7车厢5号下铺的软卧票,用户B更新剩余票信息并将它存入数据库(重复了用户A已经做过的更新)。 总的效果:15日13次7车厢5号下铺的软卧票卖了两次。其原因是:允许了用户B在过时的信息基础上
11、去更新数据库,而没有迫使他去看最新的信息。 事务管理课件丢失更新问题丢失更新问题 用SQL术语描述丢失更新问题事务管理课件未提交依赖问题未提交依赖问题 l未提交依赖问题也称为读“脏”(Dirty Read)数据问题,查询一个已经被其他事务更新、但尚未提交的元组,将会引起未提交依赖问题。 事务管理课件不一致分析问题不一致分析问题 l不一致分析问题也称为不可重复读问题,很多应用可能需要校验功能,这时往往需要连续两次或多次读数据进行校验和分析,结果由于其他事务的干扰,使得前后结果不一致,从而产生校验错误(即不一致的分析)。 事务管理课件幻象读问题幻象读问题 l幻象读问题与不一致分析问题有关,当事务A
12、读数据时,事务B在对同一个关系进行插入或删除操作,这时事务A再读同一条件的元组时,会发现神秘地多出了一些元组或丢失了一些元组,把这种现象称作幻象读。 事务管理课件封锁封锁 l封锁的基本技术 l封锁机制 lSQL Server中与封锁有关的命令 l封锁粒度 l意向锁 事务管理课件封锁的基本技术封锁的基本技术l当需要查询或更新数据时,先对数据进行封锁,以避免来自其他事务的干扰。针对不同的干扰问题可以有不同的封锁机制。 l以丢失更新问题为例,实施封锁的基本思想是:当一个用户对一个表或记录进行更新时,封锁该表或记录,使其他用户不能在同一时刻更新相同的表或记录,迫使其他用户在更新后的基础上(而不是在更新
13、前的基础上)再实施另外的更新操作。 事务管理课件封锁的基本技术封锁的基本技术实施封锁以后的时间序列事务管理课件封锁机制封锁机制 l共享封锁 l独占封锁 l更新封锁 有些封锁在执行完相应操作后就自动释放封锁,有些封锁则保持到事务结束(提交或撤消)时才释放(无论如何,所有的封锁都会在事务结束时自动释放)。 事务管理课件共享封锁共享封锁 l共享封锁是为读操作设置的一种封锁,所以也称作读封锁,或简称S锁,目的是想读到一组不变的数据,也就是在读数据的过程中,不允许其他用户对该数据进行任何修改操作。这种封锁可以保证最大的并发性,任何数量的用户都可以同时对同样的数据施加这种共享锁。已经实施共享锁的表拒绝来自
14、其他事务的独占封锁和更新封锁。 事务管理课件独占封锁独占封锁 l独占封锁也叫排他封锁,它是为修改操作设置的一种封锁,也称为写封锁,或简称为X锁,这是最严格的一类封锁。当需要对表实施插入、删除或修改操作时,应该使用独占封锁。已经实施独占封锁的表,拒绝来自其他用户的任何封锁,但不拒绝一般的查询操作。 事务管理课件更新封锁更新封锁 l当需要对一个记录或一组记录进行更新时(只是修改,不包括插入和删除)使用更新封锁,该封锁的目的是防止其他用户在同一时刻修改同一记录。已经实施更新封锁的记录,拒绝来自其他用户的任何封锁,但不拒绝一般的查询操作。 事务管理课件SQL Server中与封锁有关的命令中与封锁有关
15、的命令 lSQL Server的封锁操作是在相关语句的“WITH ()”子句中完成的,该短语可以在SELECT、INSERT、UPDATE和DELETE等语句中指定表级锁定的方式和范围。事务管理课件SQL Server中与封锁有关的命令中与封锁有关的命令l常用的封锁关键词有:TABLOCK:对表施行共享封锁,在读完数据后立刻释放封锁,此类封锁可以避免读“脏”数据,但不具有可重复读的特性。 HOLDLOCK:与TABLOCK一起使用,可将共享锁保留到事务完成,而不是在读完数据后立即释放锁,这样可以保证数据的可重复独特性。 NOLOCK:不进行封锁,此关键词仅应用于SELECT语句,这样可能会读取
16、未提交事务的数据,即有可能发生“脏”读。 TABLOCKX:对表实施独占封锁。 UPDLOCK:对表中的指定元组实施更新封锁;这时其他事务可以对同一表中的其他元组也实施更新封锁,但是不允许对表实施共享封锁和独占封锁。 事务管理课件SQL Server中与封锁有关的命令中与封锁有关的命令DECLARE d datetime, t char(6), s char(2), n char(10)BEGIN TRANSACTIONSELECT n=座位号 FROM R WITH (UPDLOCK)WHERE 日期 = d AND 车次 = t AND 座别 = s AND 状态 IS NULLIF UP
17、DATE R SET 状态 = Y WHERE 座位号 = n AND 日期 = d AND 车次 = t AND 座别 = sCOMMIT TRANSACTIONELSEROLLBACK TRANSACTION事务管理课件封锁粒度封锁粒度 l封锁的对象可以是表、也可以是元组等,我们把封锁对象的大小称为封锁粒度(Granularity)。l封锁的对象可以是逻辑单元(如表和元组等),也可以是物理单元(如数据页和数据块等)。l数据库管理系统一般都具有多粒度锁定功能,允许一个事务锁定不同类型的资源。 事务管理课件封锁粒度封锁粒度l锁定在较小的粒度(例如行)可以增加并发操作的性能,但系统开销也较大。这
18、是因为如果封锁的粒度小,则意味着需要的锁多,从而需要系统控制更多的锁。 l锁定在较大的粒度(例如表)会降低操作的并发性,这是因为锁定整个表限制了其他事务对表中任意部分进行访问。封锁粒度大,则不需要太多的封锁,由于需要维护的锁较少,所以系统开销较低。 事务管理课件意向锁意向锁 l为了降低封锁的成本,提高并发的性能,数据库管理系统还支持一种意向锁(Intention Lock)。 l意向锁表示一种封锁意向,当需要在某些底层资源上(如元组)获取封锁时,可以先对高层资源(如表)实施意向锁。例如,在表级实施共享意向锁表示事务打算在表中的元组上实施共享锁,这样做可以防止另一个事务随后在同样的资源上获取排它
19、锁。意向锁可以提高性能,因为系统仅在表级检查意向锁来确定事务是否可以安全地获取该表上的锁;而无须检查表中的每个元组上的锁,以确定事务是否可以锁定整个表。 事务管理课件意向锁意向锁l意向共享(IS) l意向排它(IX) l共享意向排它(SIX) 事务管理课件意向共享(意向共享(IS) l通过在各资源上放置IS锁,表明事务的意向是读取层次结构中的部分(而不是全部)底层资源。 l例如,对表实施IS锁,则意味着要对表中的某个(些)元组实施S锁;l或者说,当需要对表中的某个(些)元组实施S锁时,应该首先对表实施IS锁。 事务管理课件意向排它(意向排它(IX) l通过在各资源上放置IX锁,表明事务的意向是
20、修改层次结构中的部分(而不是全部)底层资源。l例如,对表实施IX锁,则意味着要对表中的某个(些)元组实施X锁;l或者说,当需要对表中的某个(些)元组实施X锁时,应该首先对表实施IX锁。 事务管理课件共享意向排它(共享意向排它(SIX) l通过在各资源上放置SIX锁,表明事务的意向是读取层次结构中的全部底层资源并修改部分(而不是全部)底层资源。 lSIX锁等同于加S锁、再加IX锁。l例如,对表实施SIX锁,则意味着要对表实施S锁,并对表中的某个(些)元组实施X锁;l或者说,当需要对表实施S锁,并对表中的某个(些)元组实施X锁时,应该首先对表实施SIX锁。 事务管理课件死锁死锁 l产生死锁的原因
21、l避免死锁 l发现死锁l解决死锁 事务管理课件产生死锁的原因产生死锁的原因l右图示意了两个并发事务所发生事件的序列,假设程序A为了完成某个事务需要封锁仓库和职工两个关系,而几乎在同一时刻并发执行的程序B为完成另一个事务也需要封锁职工和仓库关系,这两个程序正好按照如图所示的交错序列执行命令,结果两个程序都为了等待对方释放数据资源而产生死锁。 事务管理课件避免死锁避免死锁 l相同顺序法 所有的用户程序约定都按相同的顺序来封锁表 l一次封锁法 为了完成一个事务,一次性封锁所需要的全部表 l两阶段封锁协议 所有事务都必须将对数据的封锁分为封锁和释放两个阶段 事务管理课件避免死锁的封锁避免死锁的封锁 事
22、务管理课件两阶段封锁协议两阶段封锁协议 l第一阶段称为扩展阶段,这一阶段获得各种类型的封锁,但是不能释放任何封锁。l第二阶段称为收缩阶段,这一阶段释放各种类型的封锁,一旦开始释放封锁,则不能再申请任何类型的封锁。 l注意,两阶段封锁协议和一次封锁法的异同之处。一次封锁法遵守两阶段封锁协议;但是两阶段封锁协议并不要求一次封锁所有需要封锁的数据。两阶段封锁协议仍有可能发生死锁。 事务管理课件发现死锁发现死锁l超时法 即一个事务在等待的时间超过了规定的时限后就认为发生了死锁。 这种方法非常不可靠,如果设置的等待时限长,则不能及时发现死锁;如果设置的等待时限短,则可能会将没有发生死锁的事务误判为死锁。
23、 事务管理课件发现死锁发现死锁l等待图法 即通过有向图判定事务是否是可串行化的,如果是则说明没有发生死锁,否则说明发生了死锁。具体思路是:用节点来表示正在运行的事务,用有向边来表示事务之间的等待关系,如右图所示,如果有向图中发现回路,则说明发生了死锁。 事务管理课件解决死锁解决死锁l发现死锁后解决死锁的一般策略是:自动使“年轻”的事务(即完成工作量少的事务)先退回去,然后让“年老”的事务(即完成工作量多的事务)先执行,等“年老”的事务完成并释放封锁后,“年轻”的事务再重新执行。 事务管理课件封锁与隔离级别封锁与隔离级别 l可以通过指定隔离级别或对数据资源实施封锁达到事务隔离的目的;l封锁是实现
24、并发操作的传统方法(在SQL标准中没有提及封锁),适当的运用封锁并保证高并发操作性能是一件非常复杂的工作,这需要用户深入了解各种封锁的相容性,并设计封锁的调度策略;lSQL标准中规定了事务的隔离级别,即未提交读、提交读、可重复读和可串行化,隔离级别解决了并发事务可能产生的丢失更新问题、未提交依赖问题、不一致分析问题和幻象读问题,其中为了避免丢失更新问题,事务必须运行在可重复读或可串行化隔离级别。 l用户可以根据事务的需要设定隔离级别,结果由数据库管理系统控制封锁和进行并发操作调度。 事务管理课件封锁与隔离级别封锁与隔离级别l在实际应用中,也可以将隔离级别和封锁结合起来使用。例如,如果指定隔离级
25、别是可重复读,则SQL会话中所有SELECT语句的锁定行为都运行于该隔离级别上,并一直保持有效,直到会话终止或者将隔离级别设置为另一个级别。如果必要,可以通过指定表级封锁来替代单个SELECT语句的隔离级别,指定表级封锁不会影响会话中的其他语句。一般仅在绝对必要时才使用表级封锁更改默认的锁定行为。 事务管理课件恢恢 复复 l故障类型 l备份类型 l日志的概念 l恢复模型 l备份或转储 l恢复或还原 事务管理课件故障类型故障类型l造成事务中断的故障 突然掉电引起的事务中断 硬件故障引起的事务中断 客户应用程序出错引起的事务中断 系统程序故障引起的事务中断 l磁盘介质故障 事务管理课件备份类型备份
26、类型 l双机热备份 l双工备份 l磁盘镜像 l数据库备份技术 事务管理课件日志的概念日志的概念 l日志则是对备份的补充,它可以看作是一个值班日记,它将记录下所有对数据库的更新操作。这样就可以在备份完成时立刻刷新并启用一个数据库日志,数据库日志是实时的,它将忠实地记录下所有对数据库的更新操作。l当磁盘出现故障造成数据库损坏时,就可以首先利用备份恢复数据库(恢复大部分数据),然后再运行数据库日志,即将备份后所做的更新操作再重新做一遍,从而将数据库完全恢复。l为了保证日志的安全,应该将日志和主数据库安排在不同的存储设备上,否则日志和数据库可能会同时遭到破坏,日志也就失去了它本来的作用。 事务管理课件
27、恢复模型恢复模型 l简单恢复模型允许将数据库恢复到最新的备份,即使用简单恢复模型可以将数据库恢复到上次备份的即时点,而无法将数据库恢复到故障点或特定的即时点。使用简单恢复模型,日志实际失去了作用。使用简单恢复模型的数据库只能做数据库备份,不能做日志备份。l完全恢复模型允许将数据库恢复到故障点状态,即完全恢复模型使用数据库备份和事务日志备份提供对介质故障的完全防范。事务管理课件恢复模型恢复模型l可以使用ALTER DATABASE语句的RECOVERY子句设置恢复模型。l例如,如下语句将订货数据库的恢复模型设置为完全恢复: ALTER DATABASE 订货 SET RECOVERY FULL事
28、务管理课件备份或转储备份或转储 l备份的类型 l动态备份和静态备份 l制定备份的策略 l备份整个数据库 l增量备份 l事务日志备份 l文件和文件组备份 l系统数据库的备份 事务管理课件备份的类型备份的类型 l全备份:即完整的备份整个数据库;l增量备份:增量数据库备份只备份自上次数据库备份后发生更改的数据;l文件和文件组备份:备份数据库文件或文件组,而不是备份数据库;l事务日志备份:只备份事务日志。 事务管理课件动态备份和静态备份动态备份和静态备份l动态备份也称作在线备份,即在做备份时不中断数据库的运行,不中断数据库上的应用程序和事务处理。 l静态备份也称作离线或脱机备份,这意味着在做备份时没有
29、任何数据库事务在运行,这种备份方式应是首选的备份方式。 事务管理课件制定备份的策略制定备份的策略 l备份不是实时的,备份应该什么时候做?用什么方式做?这根据数据库的不同规模、不同用途,可能有很多因素需要考虑和衡量。 事务管理课件备份整个数据库备份整个数据库 l在SQL Server中系统管理员和数据库管理员可以进行备份,也可以指定某个用户担当db_backupoperator角色(数据库预定义角色)来负责数据库的备份工作。 l所有的备份工作可以在“企业管理器”中利用交互工具完成,也可以使用命令方式完成。 事务管理课件备份整个数据库备份整个数据库l备份数据库的命令是BACKUP DATABASE
30、,一般格式如下: BACKUP DATABASE database_name TO DISK | TAPE =physical_backup_device_namel例如,如下命令将订货数据库备份到C:dumpdump1.bak: BACKUP DATABASE 订货 TO DISK=C:dumpdumpfull.bak事务管理课件增量备份增量备份 l增量备份的命令也是BACKUP DATABASE,一般格式如下: BACKUP DATABASE database_name TO DISK | TAPE =physical_backup_device_name WITH DIFFERENTIA
31、Ll例如,如下命令将对订货数据库做增量备份(备份到C:dumpdump1.bak): BACKUP DATABASE 订货 TO DISK=C:dumpdump1.bak WITH DIFFERENTIAL事务管理课件事务日志备份事务日志备份 l备份事务日志的命令是BACKUP LOG,一般格式是: BACKUP LOG database_name TO DISK | TAPE =physical_backup_device_name l例如,如下命令将备份订货数据库的日志(备份到C:dumpdumplog.bak): BACKUP LOG 订货 TO DISK=C:dumpdumplog.b
32、ak事务管理课件截断日志截断日志 l截断日志的命令是: BACKUP LOG database_name WITH TRUNCATE_ONLYl例如,在备份了订货数据库或事务日志后,为了截断订货管理数据库的事务日志可以使用如下命令: BACKUP LOG 订货 WITH TRUNCATE_ONLY事务管理课件文件和文件组备份文件和文件组备份 l可以备份和恢复数据库中的个别文件,这样当遇到介质故障时可以只恢复已损坏的文件,而不用恢复数据库的其余部分,从而加快了恢复速度。 l对于超大型数据库,有时不可能完成完整数据库的备份,这样则可以使用文件备份。文件备份为数据库备份提供了一种灵活的手段。 l与数
33、据库备份相比,文件备份的主要缺点是增加了管理的复杂性。必须注意维护完整的文件备份集和所覆盖的日志备份。 事务管理课件文件和文件组备份文件和文件组备份l备份文件或文件组的一般命令格式是: BACKUP DATABASE database_nameFILE = logic_ | = TO DISK | TAPE =physical_backup_device_name WITH DIFFERENTIAL 事务管理课件文件和文件组备份文件和文件组备份l例如,如下命令完成对订货数据库warehouse文件的备份: BACKUP DATABASE 订货 FILE = warehouse TO DISK
34、=C:dumpl如下命令则完成对订货数据库文件组仓库的备份: BACKUP DATABASE 订货 = 仓库 TO DISK =C:dump事务管理课件系统数据库的备份系统数据库的备份 l数据库备份不仅仅是要备份用户数据库,系统数据库也需要备份,例如SQL Server中的master、model和msdb等系统数据库。特别是master数据库,它负责整个数据库的管理,所有用户创建的数据库以及用户登录信息都存储在该数据库中。所以,该数据库一旦损坏,整个系统的使用都将受到影响。 事务管理课件恢复或还原恢复或还原 l恢复整个数据库 l恢复数据库的部分内容 l恢复特定的文件或文件组 l恢复事务 可以
35、将数据库恢复到做备份的即时点、发生故障的即时点或特定的事务即时点。 事务管理课件恢复或还原恢复或还原l根据数据库全备份进行恢复 l根据增量备份进行恢复 l根据事务日志进行恢复 l根据文件或文件组备份进行恢复 l恢复系统数据库 事务管理课件根据数据库全备份进行恢复根据数据库全备份进行恢复RESTORE DATABASE database_nameFROM DISK | TAPE =physical_backup_device_name WITH , NORECOVERY | RECOVERY , REPLACE 事务管理课件根据增量备份进行恢复根据增量备份进行恢复 l在简单恢复模型和完全恢复模型中都可以选择增量备份,如果存在增量备份,则一般需要进行相应的恢复操作。 l增量恢复数据库的命令也是RESTORE DATABASE,但是在根据增量备份继续恢复之前应该:已经使用RESTORE DATABASE命令完成了全备份的恢复,同时指定了NORECOVERY子句。 事务管理课件根据事务日志进行恢复根据事务日志进行恢复 l利用日志可以将数据库恢复到最新的一致状态或任意的事务点。 l首先恢复事务日志备份之前的数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链技术助力企业透明化经营与决策
- 医疗商业地产的未来趋势与新机遇
- 冷轧厂百日安全竞赛活动总结模版
- 企业数字化转型中如何利用区块链提高内部管理效率
- 医疗旅游目的地医院的营销策略
- 医疗信息化对医药企业的影响
- 临时维修安全合同范例
- 东城区家具运输合同范例
- 买车预定合同范例
- 主播竞技合同范例
- 【S】幼儿绘本故事《三只小猪》课件
- 【教师共享】《羽毛球》教学评价及评价建议
- 乐高EV3初级课程课件 - 仿生蜘蛛
- DB13-T 5742-2023醇基燃料使用安全规范
- 尾矿库安全生产风险监测预警系统运行管理办法
- 特殊教育:康复训练课程标准(年版)
- 国开电大《小学数学教学研究》形考任务2答案
- 南京秦淮外国语学校新初一分班英语试卷含答案
- 七年级下地理试题
- 宁夏水利建筑工程预算定额
- 山东省普通高中学生发展报告
评论
0/150
提交评论