小编Mic*_*eyn的帖子

SQL Server 2008 R2 脏读——非原子性如何?

我想知道在未提交读隔离级别下脏读“有多脏” 。我知道已更新但尚未提交的行是可见的,但是:

  1. 一行是否可以显示为部分更新 - 也就是说,某些列已更新而有些未更新?
  2. 单列是否可以部分更新。例如,如果您有一个正在完全更新的 varchar(4000) 列,并假设它实际上包含 4000 个字符。你能读出前一个状态的 2k 个字符和新状态的 2k 个字符吗?长度大于 8k 的 varchar(max) 怎么样?

更新:经过一些辩论,最小的共识是,如果列大小大于 8KB,脏读,即使在列本身内,也是可能的。

sql-server-2008 sql-server sql-server-2008-r2

11
推荐指数
1
解决办法
1035
查看次数