在长sql事务期间断电

时间:2015-04-17 21:32:59

标签: sql transactions interrupt

有谁知道如果在长sql事务期间关闭了microsoft sql server的电源会发生什么? db会自动回滚未完成的事务吗?

由于

2 个答案:

答案 0 :(得分:1)

实际的数据提交永远不会被执行,因此数据不一致没有问题。一旦服务器重新启动,就会发生回滚而不是提交。

答案 1 :(得分:0)

https://technet.microsoft.com/en-us/library/ms191455%28v=sql.105%29.aspx

  

在重做阶段向前滚动所有日志事务后,a   数据库通常包含由事务所做的更改   在恢复点未提交。这使得前滚数据成为可能   交易不一致。 恢复过程打开了   事务日志以标识未提交的事务。未提交   通过回滚来撤消事务,除非它们持有锁   阻止其他事务以事务方式查看   不一致的数据。这一步称为撤消(或回滚)阶段。   如果数据在开始时已经在事务上保持一致   恢复过程,跳过撤消阶段。数据库之后   事务一致,恢复使数据库在线。后   已恢复一个或多个备份,恢复通常包括   重做和撤消阶段。每个完整和差异备份   包含足够的事务日志记录以允许其中的数据   备份恢复到自洽状态。