Condividi tramite


Enumerazione COMAdminTxIsolationLevelOptions (comadmin.h)

Indica il livello di isolamento da usare per le transazioni.

Sintassi

typedef enum COMAdminTxIsolationLevelOptions {
  COMAdminTxIsolationLevelAny = 0,
  COMAdminTxIsolationLevelReadUnCommitted,
  COMAdminTxIsolationLevelReadCommitted,
  COMAdminTxIsolationLevelRepeatableRead,
  COMAdminTxIsolationLevelSerializable
} ;

Costanti

 
COMAdminTxIsolationLevelAny
Valore: 0
È supportato qualsiasi livello di isolamento. Un componente downstream con questo livello di isolamento usa sempre lo stesso livello di isolamento usato dal componente upstream immediato. Se l'oggetto radice in una transazione ha il livello di isolamento configurato in COMAdminTxIsolationLevelAny, il livello di isolamento diventa COMAdminTxIsolationLevelSerializable.
COMAdminTxIsolationLevelReadUnCommitted
Una transazione può leggere tutti i dati, anche se viene modificata da un'altra transazione. Qualsiasi tipo di nuovo dati può essere inserito durante una transazione. Si tratta del livello di isolamento meno sicuro, ma consente la concorrenza più elevata.
COMAdminTxIsolationLevelReadCommitted
Una transazione non può leggere i dati modificati da un'altra transazione che non ha eseguito il commit. Qualsiasi tipo di nuovo dati può essere inserito durante una transazione. Si tratta del livello di isolamento predefinito in Microsoft SQL Server.
COMAdminTxIsolationLevelRepeatableRead
I dati letti da una transazione corrente non possono essere modificati da un'altra transazione fino al termine della transazione corrente. Qualsiasi tipo di nuovo dati può essere inserito durante una transazione.
COMAdminTxIsolationLevelSerializable
I dati letti da una transazione corrente non possono essere modificati da un'altra transazione fino al termine della transazione corrente. Non è possibile inserire nuovi dati che influiscono sulla transazione corrente. Si tratta del livello di isolamento più sicuro e è il valore predefinito, ma consente il livello più basso di concorrenza.

Commenti

Questa enumerazione viene usata per configurare il livello di isolamento delle transazioni per i componenti che usano le transazioni. Viene usato anche per configurare il livello di isolamento per l'uso del servizio transazioni senza componenti passando come parametro a IServiceTransactionConfigBase::IsolationLevel. Questo metodo viene chiamato tramite CServiceConfig per il lavoro inviato tramite l'attività creata da CoCreateActivity o il lavoro racchiuso tra chiamate a CoEnterServiceDomain e CoLeaveServiceDomain.

Se un componente downstream è configurato con un livello di isolamento superiore a un componente upstream e tenta di inserire in una transazione, un errore genera un errore e l'interruzione della transazione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione comadmin.h

Vedi anche

CoCreateActivity

CoEnterServiceDomain

Configurazione dei livelli di isolamento delle transazioni