Locking in the Database Engine
For more information about the specific types of locking or row versioning controlled by each
transaction isolation level, see
SET TRANSACTION ISOLATION LEVEL (Transact-SQL).
Transaction isolation levels can be set using Transact-SQL or through a database API.
Transact-SQL scripts use the
statement.
ADO applications set the
property of the
object to
,
,
, or.
ADO.NET applications using the
or
managed
namespace can call the
method and set the
option to
,
,
,
,
,
,
or.
When starting a transaction, applications using OLE DB call
with
set to
,
,
,
, or.
When specifying the transaction isolation level in autocommit mode, OLE DB applications can set
the
property
to
,
,
,
,
,
,
,
, or.
ODBC applications call
with
set to
and
set to
,
,
, or.
For snapshot transactions, applications call
with Attribute set to
and
set to. A snapshot transaction can
be retrieved using either
or.
SET TRANSACTION ISOLATION LEVEL
IsolationLevel
Connection
adXactReadUncommitted
adXactReadCommitted
adXactRepeatableRead
adXactReadSerializable
Microsoft.Data.SqlClient
System.Data.SqlClient
SqlConnection.BeginTransaction
IsolationLevel
Unspecified
Chaos
ReadUncommitted
ReadCommitted
RepeatableRead
Serializable
Snapshot
ITransactionLocal::StartTransaction
isoLevel
ISOLATIONLEVEL_READUNCOMMITTED
ISOLATIONLEVEL_READCOMMITTED
ISOLATIONLEVEL_REPEATABLEREAD
ISOLATIONLEVEL_SNAPSHOT
ISOLATIONLEVEL_SERIALIZABLE
DBPROPSET_SESSION
DBPROP_SESS_AUTOCOMMITISOLEVELS
DBPROPVAL_TI_CHAOS
DBPROPVAL_TI_READUNCOMMITTED
DBPROPVAL_TI_BROWSE
DBPROPVAL_TI_CURSORSTABILITY
DBPROPVAL_TI_READCOMMITTED
DBPROPVAL_TI_REPEATABLEREAD
DBPROPVAL_TI_SERIALIZABLE
DBPROPVAL_TI_ISOLATED
DBPROPVAL_TI_SNAPSHOT
SQLSetConnectAttr
Attribute
SQL_ATTR_TXN_ISOLATION
ValuePtr
SQL_TXN_READ_UNCOMMITTED
SQL_TXN_READ_COMMITTED
SQL_TXN_REPEATABLE_READ
SQL_TXN_SERIALIZABLE
SQLSetConnectAttr
SQL_COPT_SS_TXN_ISOLATION
ValuePtr
SQL_TXN_SS_SNAPSHOT
SQL_COPT_SS_TXN_ISOLATION
SQL_ATTR_TXN_ISOLATION