Using the Read Committed Option

Use the Read Committed option to guarantee that every retrieved row is committed in the table at the time that the row is retrieved. This option does not place a lock on the fetched row. Read Committed is the default level of isolation in a database with logging that is not ANSI compliant.

Read Committed is appropriate when each row of data is processed as an independent unit, without reference to other rows in the same or other tables.

The Read Committed isolation level of SET TRANSACTION does not directly support the LAST COMMITTED feature of the Committed Read isolation level of the SET ISOLATION statement, which can reduce the risk of locking conflicts when an application attempts to read data in a row on which another session holds an exclusive row-level lock. When this feature is enabled, the database server returns the most recently committed version of the data, rather than wait for the lock to be released

This feature takes effect implicitly, however, in all user sessions that use the Read Committed isolation level of the SET TRANSACTION statement, under either of the following circumstances:
  • if the USELASTCOMMITTED configuration parameter is set to 'COMMITTED READ' or to 'ALL'
  • if the SET ENVIRONMENT statement set the USELASTCOMMITTED session environment variable to 'COMMITTED READ' or to 'ALL'.
See the section The LAST COMMITTED Option to Committed Read for more information about the LAST COMMITTED feature and its restrictions.