In case of multiple updates of the same record in a single transaction, how many versions are being stored?
12
votes
1
answer
6073
views
According to MSDN article by Kimberly L. Tripp, Neal Graves's "SQL Server 2005 Row Versioning-Based Transaction Isolation
- "... **All the earlier versions of a particular record** are chained in a linked list; and in the case of long-running row versioning–based transactions, the link will have to be traversed **on each access** to reach the transactionally consistent version of the row"
which is in the section "Understanding Row Versioning" common for following both "Row Versioning in Read Committed Using Row Versioning" and "Row Versioning in Snapshot Isolation" sections.
Further on the example of row-versioning due to modifications is given in context of multiple updates of the same record by multiple transactions (T1, T2, T3) in SNAPSHOT only.
In case only one transaction updates a record multiple times (by multiple statements), will multiple version stores be stored (linked) or only the one taken at the moment of the SNAPSHOT "image" taken?
Well, the answer to this question should immediately answer my other pending related questions:
- Why do row-versioning isolations use a linked list of versions of record?
- Does RCSI use less or same space than SNAPSHOT? Why?
Asked by Fulproof
(1392 rep)
Dec 15, 2013, 01:36 AM
Last activity: Dec 15, 2013, 07:26 PM
Last activity: Dec 15, 2013, 07:26 PM