一个没有rollback的事务有意义吗?

blackhawk_yps 2002-05-23 10:07:26
一个没有rollback的事务在执行期间,其中某一部操作失败,事务会自动rollback吗?如果发生断电,死机的情况呢?
除这些外,一个没有rollback得事务还有别的意义吗?
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuguangyao 2002-05-28
  • 打赏
  • 举报
回复
实际上,在commit之前,根本就不更新数据库,所有的操作都被记了下来,只有当commit,才会被执行,你可以做一个小程序来测试一下,很明显的。
blackhawk_yps 2002-05-24
  • 打赏
  • 举报
回复
我想是这样的,事务begin后的所有操作都是放在缓存区(或临时表),在commit前不管发生什么中断的情况,事务中对数据库的操作都不会成功。
wuguangyao 2002-05-23
  • 打赏
  • 举报
回复
没有rollback,当然不可能自动回滚了,我觉得事务本身目的就是提供一个机会避免部分操作失败,在你committrans之前如果死机,数据库不会发生任何更改,如果在committrans之后死机,数据库更新已经完成了,当然更不会影响你的操作了。
tigi 2002-05-23
  • 打赏
  • 举报
回复
如果是非自动提交模式的事务,在其中某一部操作失败或发生断电,死机的情况下会rollback,它只有在commit时,才进行保存。
King_Dragon 2002-05-23
  • 打赏
  • 举报
回复
我同意kknd_net(花样年华之往事如烟)老兄的说法,事务从作业的角度来看就是一个批处理,没有实现回滚的事务就没有意义
erickleung 2002-05-23
  • 打赏
  • 举报
回复
要看你在那兒做commit了, 若你強制不準數據庫不能rollback的話, 當真正出問
題時便真是很麻煩了
kknd_net 2002-05-23
  • 打赏
  • 举报
回复
事物是恢复的基本单位,很大的作用在于在操作失败可以回滚rollback,没有rollback,事物的意义不是很大。
当然,事物除了恢复的作用,还在于他具有其他特性(并发控制);
重要的有,隔离性。一个事物不能被其他事物干扰。这对于处理并发控制很重要,并发进行的事物,可能发生死锁。事物之间要符合并发调度的可串行化。

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧