首页 新闻 会员 周边

SQL Server事务会不会因为计算机硬件故障而执行失败,且不能回滚

0
悬赏园豆:10 [已解决问题] 解决于 2010-05-03 12:19

大家好! 请教一个问题
请教一个问题,sql server的事务会不会有这样的情况:


在一个事务中要修改3个数据表,开始事务,修改了一个表,此时恰巧遇到某些意外情况(比如计算机突然断电,或硬件突然故障)导致该事务不能继续执行,还有两个表未能修改,事务无法回滚。
注:排除程序员设计事务代码出错的问题,即前提假设SQL代码设计是完全正确的。

龍在江湖的主页 龍在江湖 | 初学一级 | 园豆:13
提问于:2010-05-02 23:42
< >
分享
最佳答案
0

事物未提交之前,你修改的结果是暂时存放在 tempdb 中的,不会修改你实际的表,这时断电或硬件故障,实际的表不会受任何影响。

收获园豆:5
eaglet | 专家六级 |园豆:17139 | 2010-05-03 07:29
其他回答(2)
0

在硬件丢失或磁盘故障影响到数据库文件后,可以将数据库还原到故障点。先还原上次完整数据库备份和上次差异数据库备份,然后将后续的事务日志备份序列还原到故障点。当还原每个日志备份时,数据库引擎重新应用日志中记录的所有修改,以前滚所有事务。当最后的日志备份还原后,数据库引擎将使用日志信息回滚到该点未完成的所有事务。

 

http://msdn.microsoft.com/zh-cn/library/ms190925.aspx

收获园豆:4
荖K | 园豆:214 (菜鸟二级) | 2010-05-03 09:12
0

不会的

收获园豆:1
Astar | 园豆:40805 (高人七级) | 2010-05-03 10:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册