第11章数据库恢复技术与SQLServer的数据恢复机制11
1故障的种类11
2数据恢复的实现技术11
3数据库恢复策略11
4SQLServer的数据备份和数据恢复机制第11章数据库恢复技术与SQLServer的数据恢复机制11
1故障的种类数据库系统中发生的故障是多种多样的,大致可以归结为以下几类:事务内部故障事务内部故障有的可以通过事务程序本身发现,但是更多的则是非预期的,它们不能由事务处理程序处理
例如运算溢出、并发事务发生死锁而被选中撤消该事务、违反了某些完整性限制等
事务故障意味着事务没有达到预期的终点(COMMIT或显式的ROLLBACK),因此数据库可能处于不正确状态
恢复程序的任务就是在不影响其他事务运行的情况下,强行回滚(ROLLBACK)该事务,即撤消该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样
这类恢复操作称为事务撤消(UNDO)
第11章数据库恢复技术与SQLServer的数据恢复机制系统故障系统故障是指造成系统停止运转,必须重新启动系统的任何事件
例如,特定类型的硬件故障、操作系统故障、DBMS代码错误、数据库服务器出错以及其他自然原因等
系统故障主要有两种情况:发生故障时,一些尚未完成的事务的部分结果已送入物理数据库,从而造成数据库可能处于不正确的状态
为保证数据一致性,需要清除这些事务对数据库的所有修改
在这种情况下,恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤消(UNDO)所有未完成的事务
发生系统故障时,有些已完成的事务有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中
系统故障使得这些事务对数据库的修改部分或全部丢失,这也会使数据库处于不一致状态,因此应将这些事务已提交的结果重新写人数据库
这种情况下,系统重新启动后,恢复子系统除了需要撤消所有未完成的事务外,还需要重做(RED