数据库中的每个更新都会首先将一个条目写入包含更改描述的日志中。例如。如果您将列值从 A 更新到 B,日志将包含更新记录,类似于:在表 T 中,列 C 已从 A 更改为 B,以通过 id I 的事务使用键 K 进行记录。如果您回滚事务时,引擎将开始向后扫描日志,查找事务完成的工作记录,并撤消该工作:当它找到从 A 到 B 的更新记录时,会将值更改回 A。插入将被撤消通过删除插入的行。通过插回该行可以撤消删除操作。这在事务日志逻辑架构 http://msdn.microsoft.com/en-us/library/ms180892.aspx and 预写事务日志 http://msdn.microsoft.com/en-us/library/ms186259.aspx.
这是高层次的解释,具体的内部细节如何发生对于外行来说是没有记录的,并且不受您的检查或更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)