Space used in tempdb
are detected, they're handled and retried
Update conflict
detection
None.
If update conflicts
are detected, they’re handled and retried
automatically.
Integrated support. Can’t be disabled.
The row versioning framework supports the following Database Engine features:
Triggers
Multiple Active Results Sets (MARS)
Online indexing
The row versioning framework also supports the following row versioning-based transaction
isolation levels:
When the
database option is set to
,
transactions provide statement-level read consistency using row versioning.
When the
database option is set to
,
transactions
provide transaction-level read consistency using row versioning.
Row versioning-based isolation levels reduce the number of locks acquired by transaction by
eliminating the use of shared locks on read operations. This increases system performance by
reducing the resources used to manage locks. Performance is also increased by reducing the
number of times a transaction is blocked by locks acquired by other transactions.
Row versioning-based isolation levels increase the resources needed by data modifications.
Enabling these options causes all data modifications for the database to be versioned. A copy of
the data before modification is stored in the version store even when there are no active
transactions using row versioning-based isolation. The data after modification includes a pointer
to the versioned data in the version store. For large objects, only part of the object that changed
is stored in the version store.
For each instance of the Database Engine, the version store must have enough space to hold the
row versions. The database administrator must ensure that
and other databases (if ADR is
enabled) have ample space to support the version store. There are two types of version stores:
READ COMMITTED
SNAPSHOT
READ_COMMITTED_SNAPSHOT
ON
READ_COMMITTED
ALLOW_SNAPSHOT_ISOLATION
ON
SNAPSHOT
tempdb