| title | Isolation Levels (Native Client OLE DB provider) | ||||
|---|---|---|---|---|---|
| description | Isolation Levels (Native Client OLE DB provider) | ||||
| author | markingmyname | ||||
| ms.author | maghan | ||||
| ms.date | 03/14/2017 | ||||
| ms.service | sql | ||||
| ms.subservice | native-client | ||||
| ms.topic | reference | ||||
| helpviewer_keywords |
|
[!INCLUDESQL Server Azure SQL Database Synapse Analytics PDW]
[!INCLUDEssNoVersion] clients can control transaction-isolation levels for a connection. To control transaction-isolation level, the [!INCLUDEssNoVersion] Native Client OLE DB provider consumer uses:
-
DBPROPSET_SESSION property DBPROP_SESS_AUTOCOMMITISOLEVELS for the [!INCLUDEssNoVersion] Native Client OLE DB provider default autocommit mode.
The [!INCLUDEssNoVersion] Native Client OLE DB provider default for the level is DBPROPVAL_TI_READCOMMITTED.
-
The isoLevel parameter of the ITransactionLocal::StartTransaction method for local manual-commit transactions.
-
The isoLevel parameter of the ITransactionDispenser::BeginTransaction method for MS DTC-coordinated distributed transactions.
[!INCLUDEssNoVersion] allows read-only access at the dirty read isolation level. All other levels restrict concurrency by applying locks to [!INCLUDEssNoVersion] objects. As the client requires greater concurrency levels, [!INCLUDEssNoVersion] applies greater restrictions on concurrent access to data. To maintain the highest level of concurrent access to data, the [!INCLUDEssNoVersion] Native Client OLE DB provider consumer should intelligently control its requests for specific concurrency levels.
Note
[!INCLUDEssVersion2005] introduced snapshot isolation level. For more information, see Working with Snapshot Isolation.