9

我有一张有数百万行的表。

不小心我在一个没有 where 子句的表上写了一个更新查询并单击了执行。

它开始执行。两秒钟后,我意识到查询是错误的,我点击了 ' Stop' 按钮Sql Server Management Studio。查询执行被停止,这一切都发生在 7 秒内。

现在我很想知道是否有任何行受到影响。如果有的话,它们是什么?如何找到它?

4

1 回答 1

12

单个更新语句不会更新某些行。全部为行或无

这是SQL Server 非常尊重的ACID属性中的原子性。

原子性要求每个事务都是“全有或全无”:如果事务的一部分失败,则整个事务失败,数据库状态保持不变。原子系统必须保证每种情况下的原子性,包括电源故障、错误和崩溃。

然后提交在语句的末尾,所以当你取消时没有提交

于 2012-11-23T15:24:24.690 回答