Isolatieniveaus (Native Client OLE DB provider)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

SQL Server-clients kunnen de niveaus van transactie-isolatie voor een verbinding regelen. Om het transactie-isolatieniveau te beheersen, gebruikt de consument van de SQL Server Native Client OLE DB-provider:

  • DBPROPSET_SESSION eigenschap DBPROP_SESS_AUTOCOMMITISOLEVELS voor de standaard autocommit-modus van de SQL Server Native Client OLE DB-provider.

    De standaard SQL Server Native Client OLE DB-provider voor het niveau is DBPROPVAL_TI_READCOMMITTED.

  • De isoLevel-parameter van de ITransactionLocal::StartTransaction-methode voor lokale handmatige committransacties.

  • De isoLevel-parameter van de ITransactionDispenser::BeginTransaction-methode voor MS DTC-gecoƶrdineerde gedistribueerde transacties.

SQL Server maakt alleen-lezen toegang mogelijk op het niveau van dirty read isolation. Alle andere niveaus beperken gelijktijdigheid door vergrendelingen toe te passen op SQL Server-objecten. Omdat de client hogere gelijktijdigheidsniveaus vereist, legt SQL Server grotere beperkingen op gelijktijdige toegang tot data. Om het hoogste niveau van gelijktijdige toegang tot data te behouden, moet de consument van de SQL Server Native Client OLE DB-provider zijn verzoeken voor specifieke gelijktijdigheidsniveaus intelligent beheren.

Note

SQL Server 2005 (9.x) introduceerde snapshot isolation level. Voor meer informatie, zie Working with Snapshot Isolation.