Cursor Transaction Isolation Level


The complete locking behavior of cursors is based on an interaction between concurrency attributes and the transaction isolation level set by the client. ODBC clients set the transaction isolation level using the SQLSetConnectAttr SQL_ATTR_TXN_ISOLATION or SQL_COPT_SS_TXN_ISOLATION attributes. The locking behavior of a specific cursor environment is determined by combining the locking behaviors of the concurrency and transaction isolation level options.

The following cursor transaction isolation levels are supported by the SQL Server Native Client ODBC driver:

  • Read committed (SQL_TXN_READ_COMMITTED)

  • Read uncommitted (SQL_TXN_READ_UNCOMMITTED)

  • Repeatable read (SQL_TXN_REPEATABLE_READ)

  • Serializable (SQL_TXN_SERIALIZABLE)

  • Snapshot (SQL_TXN_SS_SNAPSHOT)

Note that the ODBC API specifies additional transaction isolation levels, but these are not supported by SQL Server or the SQL Server Native Client ODBC driver.

Cursor Properties