Default transaction isolation in SQL Server: Assess the statement: "READ COMMITTED is the default isolation level."

Database SQL Server 2000 Difficulty: Easy
Choose an option
  • A
    Correct
  • B
    Incorrect
  • C
    Correct only in the FULL recovery model
  • D
    Correct only when RCSI is enabled
  • E
    Correct only for tempdb

Answer

Correct Answer: Correct

Explanation

Introduction / Context: Transaction isolation level governs how concurrent transactions interact. In SQL Server, the default isolation level for new sessions is READ COMMITTED unless explicitly changed at the session/database level. Understanding this baseline is crucial for diagnosing blocking, deadlocks, and consistency anomalies.

Given Data / Assumptions:

  • No SET TRANSACTION ISOLATION LEVEL overrides have been issued for the session.
  • Database options like READ_COMMITTED_SNAPSHOT may be ON or OFF; this changes implementation, not the named level.
  • We consider standard SQL Server behavior.

Concept / Approach: Under READ COMMITTED, statements cannot read data modified by other transactions that have not yet committed. With READ_COMMITTED_SNAPSHOT ON, SQL Server implements this using row versioning (nonblocking reads); otherwise it uses shared locks on read. The default level name remains READ COMMITTED in both cases.

Step-by-Step Solution:

Open a new session; query sys.dm_exec_sessions to confirm isolation_level.Observe behavior: dirty reads are prevented; nonrepeatable/phantom reads can occur.Enable READ_COMMITTED_SNAPSHOT and repeat: semantics stay READ COMMITTED, implementation switches to versioning.

Verification / Alternative check: Use DBCC USEROPTIONS to display the current session’s isolation level. Review database properties for snapshot-based implementation.

Why Other Options Are Wrong:

  • Incorrect: Conflicts with default server behavior.
  • Recovery model / tempdb: Recovery model and database choice do not redefine the default isolation level.
  • RCSI-only: RCSI is an implementation detail for READ COMMITTED, not a different default level.

Common Pitfalls: Assuming SNAPSHOT is the default; forgetting to measure blocking differences when switching RCSI on.

Final Answer: Correct

Discussion & Comments
No comments yet. Be the first to comment!
Join Discussion