SQL Server和事务中间的连接丢失

时间:2011-02-12 13:44:32

标签: sql-server tsql sql-server-2008 transactions

如果在交易过程中丢失连接会怎么样?

我想如果事务永远不会被提交并且可以再次执行,但是......有没有办法我可以连接并将其回滚到保存点并继续我已经拥有的东西?

亲切的问候。

2 个答案:

答案 0 :(得分:9)

如果在事务中途丢失连接,则无法再从其他连接重新输入此事务。如果断开连接,SQL Server将自动回滚所有未提交的事务。因此,如果发生这种情况,只需重新连接,您就会发现您的数据库处于启动事务之前的状态(假设当然没有其他用户可能在其间进行了更改。

答案 1 :(得分:2)

通常,交易中的任何中断都将被回滚。客户端是否断开连接,CommandTimeout或服务器是否重新启动。

这是ACID

中的原子

能够“取消”中断的交易没有意义

  • 发生的其他交易/交易LSN将无序
  • 内部结构在写入(索引等)/数据库不一致时被更改