数据库中前滚、回滚什么意思

如题所述

数据库中的undo、rollback,既撤消和回滚。首先这2个操作是针对事务来说的,事务的概念请楼主自行百度。
举一个简单的例子,A给B转账,在数据库中就需要给A,B进行update操作。这2条sql语句必须都执行或者都不执行(称为一个事务)。假如先执行B的update语句,B的金额增加了100,然后执行A的update语句,A的金额减100。如果A的余额大于100,那么2个语句没问题,但是A的余额小于100时,再减100就变成负的了,这不符合实际情况。所以第二条sql就出现无法执行,那么数据库的状态必须回到没有执行B的update语句之前。
当一个事务执行的时候,数据库会依次执行中间的sql语句,当某一条sql发生错误以后,根据事务的原子性,通过2种方式使数据库回到事务没有执行的状态。撤销就是相当于不执行commit;回滚就是执行一遍相反的操作,比如再执行B的update金额减100。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-06-01
前滚和回滚是 SQL Server? 中的两个事务操作。

前滚-恢复。白话:还没有做,根据日志继续把它做完。
回滚-撤销。白话:已经做了,根据日志取消刚才所做的。
每个 Microsoft? SQL Server? 2000 数据库都有一个事务日志记录数据库内的数据修改,事务日志可以用于前滚和回滚操作。本回答被网友采纳
第2个回答  2011-03-24
前滚是将未完成的操作继续完成,回滚是将执行完的操作回复过来
第3个回答  2011-03-17
就是把数据恢复到你操作以前的数据。
第4个回答  推荐于2017-09-06
前滚:
未完全提交的事务,即该事务已经被执行commit命令了,只是现在该事务修改所对应的脏数据块中只有一部分被写到磁盘上的数据文件中,还有一部分已经被置为提交标记的脏块还在内存上,如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用前滚(这个机制)来完成事务的完全提交,即将先前那部分已经被置为提交标记且还在内存上的脏块写入到磁盘上的数据文件中。
回滚:
未提交的事务,即该事务未被执行commit命令。但是此时,该事务修改的脏块中也有可能一部分脏块写入到数据文件中了。如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用回滚(这个机制)来将先前那部分已经写入到数据文件的脏块从数据文件上撤销掉。

数据库中前滚、回滚什么意思
前滚和回滚是 SQL Server?中的两个事务操作。前滚-恢复。白话:还没有做,根据日志继续把它做完。回滚-撤销。白话:已经做了,根据日志取消刚才所做的。每个 Microsoft?SQL Server?2000 数据库都有一个事务日志记录数据库内的数据修改,事务日志可以用于前滚和回滚操作。

数据库中前滚、回滚什么意思
当一个事务执行的时候,数据库会依次执行中间的sql语句,当某一条sql发生错误以后,根据事务的原子性,通过2种方式使数据库回到事务没有执行的状态。撤销就是相当于不执行commit;回滚就是执行一遍相反的操作,比如再执行B的update金额减100。

“前滚”和“回滚”的区别
回滚: 未提交的事务,即该事务未被执行commit命令。但是此时,该事务修改的脏块中也有可能一部分脏块写入到数据文件中了。如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用回滚(这个机制)来将先前那部分已经写入到数据文件的脏块从数据文件上撤销掉。简介 实例恢复,就是Oracle软件系统根据数...

数据库中前滚、回滚是什么?有什么作用?
当一个事务执行的时候,数据库会依次执行中间的sql语句,当某一条sql发生错误以后,根据事务的原子性,通过2种方式使数据库回到事务没有执行的状态。撤销就是相当于不执行commit;回滚就是执行一遍相反的操作,比如再执行B的update金额减100。

...并回滚任何未完成的事务。什么是前滚和回滚
即将先前那部分已经提交了还在内存里的块写入到磁盘上的数据库表里。 叫做前滚。 回滚就是未提交的事务,如果这时候数据库崩溃了或者断电了,重新开机启动数据库时,就需要用回滚来将先前那部分已经写入到数据文件的块从数据库表上撤销掉。就是回滚。望采纳 个人理解 ...

oracle中数据是怎样前滚和回滚的
保持数据一致性和完整性,是每一款成功商业数据库软件都必须要做到的基本要求。从故障中恢复,保证ACID原则,保证事务完整性,一直是Oracle数据库核心功能组成部分。本篇主要介绍Oracle实例意外终止(断电或者强制关闭)之后,重新启动时发生的恢复过程,也可以称作“前滚和回滚”。 基础知识说明 为了更明确的说明问题,笔者首先介...

数据库恢复的数据库恢复的三种方式
在数据库中恢复有3种类型或方法,即应急(crash)恢复、版本(version)恢复和前滚(rool forward)恢复。 应急恢复用于防止数据库处于不一致或不可用状态。数据库执行的事务(也称工作单元)可能被意外中断,若在作为工作单位一部分的所有更改完成和提交之前发生故障,则该数据库就会处于不一致和不可用的...

面试必备之MySQL数据库(binlog,redolog,undolog)
undo log:事务回滚和MVCC的基石undo log负责保存事务的前一个状态,使得在事务发生错误时可以回滚到之前的状态,同时支持MVCC(多版本并发控制)功能,确保并发操作的正确性。在事务提交时,redo log保证持久性,undo log负责事务的可逆性。回滚与前滚的区别回滚针对未提交的事务,涉及已刷盘的脏页;前滚...

数据库恢复数据库恢复的三种方式
首先,应急恢复旨在防止数据库陷入不一致或不可用状态。在事务执行过程中,如果遇到意外中断,数据库可能处于不一致状态。此时,需要通过回滚未完成的事务并完成已提交事务来恢复一致性。例如,如果在COMMIT语句前发生故障,重启数据库后会回滚到故障前的状态,通过逆序执行回滚语句来达到这一目的。其次,版本...

DB2数据库备份前要做的准备描有哪些?
1. 崩溃恢复:通过回滚未提交的事务防止数据库处于不一致状态 2. 版本恢复:通过使用Backup命令获取备份镜像来恢复 3. 前滚恢复:通过使用完全数据库备份用Rollforward进行恢复 数据库设置为可恢复数据库的因素:1. 如果数据库仅仅是用来进行查询,日志中没有工作事务单元,那么该数据库就没有必要被...

相似回答