Enumeración COMAdminTxIsolationLevelOptions (comadmin.h)

Indica el nivel de aislamiento que se va a usar para las transacciones.

Syntax

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

Constantes

 
COMAdminTxIsolationLevelAny
Valor: 0
Se admite cualquier nivel de aislamiento. Un componente de nivel inferior que tiene este nivel de aislamiento siempre usa el mismo nivel de aislamiento que usa su componente ascendente inmediato. Si el objeto raíz de una transacción tiene su nivel de aislamiento configurado en COMAdminTxIsolationLevelAny, su nivel de aislamiento se convierte en COMAdminTxIsolationLevelSerializable.
COMAdminTxIsolationLevelReadUnCommitted
Una transacción puede leer cualquier dato, incluso si otra transacción la modifica. Cualquier tipo de datos nuevos se puede insertar durante una transacción. Este es el nivel de aislamiento menos seguro, pero permite la simultaneidad más alta.
COMAdminTxIsolationLevelReadCommitted
Una transacción no puede leer los datos que está modificando otra transacción que no se ha confirmado. Cualquier tipo de datos nuevos se puede insertar durante una transacción. Este es el nivel de aislamiento predeterminado en Microsoft SQL Server.
COMAdminTxIsolationLevelRepeatableRead
Otra transacción no puede cambiar los datos leídos por una transacción actual hasta que finalice la transacción actual. Cualquier tipo de datos nuevos se puede insertar durante una transacción.
COMAdminTxIsolationLevelSerializable
Otra transacción no puede cambiar los datos leídos por una transacción actual hasta que finalice la transacción actual. No se pueden insertar datos nuevos que afecten a la transacción actual. Este es el nivel de aislamiento más seguro y es el valor predeterminado, pero permite el nivel más bajo de simultaneidad.

Comentarios

Esta enumeración se usa para configurar el nivel de aislamiento de transacción para los componentes que usan transacciones. También se usa para configurar el nivel de aislamiento para usar el servicio de transacciones sin componentes pasando como parámetro a IServiceTransactionConfigBase::IsolationLevel. Este método se llama a través de CServiceConfig para el trabajo enviado a través de la actividad creada por CoCreateActivity o el trabajo que se incluye entre las llamadas a CoEnterServiceDomain y CoLeaveServiceDomain.

Si un componente de bajada está configurado con un nivel de aislamiento superior al de un componente ascendente e intenta inscribirse en una transacción, se produce un error y se anula la transacción.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado comadmin.h

Consulte también

CoCreateActivity

CoEnterServiceDomain

Configuración de niveles de aislamiento de transacciones