Isolation Levels (OLE DB)

SQL Server clients can control transaction-isolation levels for a connection. To control transaction-isolation level, the SQL Native Client OLE DB provider consumer uses:

  • DBPROPSET_SESSION property DBPROP_SESS_AUTOCOMMITISOLEVELS for the SQL Native Client OLE DB provider default autocommit mode.
    The SQL 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.

SQL Server allows read-only access at the dirty read isolation level. All other levels restrict concurrency by applying locks to SQL Server objects. As the client requires greater concurrency levels, SQL Server applies greater restrictions on concurrent access to data. To maintain the highest level of concurrent access to data, the SQL Native Client OLE DB provider consumer should intelligently control its requests for specific concurrency levels.

Note

SQL Server 2005 contains a new feature: snapshot isolation level. See Working with Snapshot Isolation for more information.

See Also

Concepts

Transactions

Other Resources

Isolation Levels in the Database Engine

Help and Information

Getting SQL Server 2005 Assistance