IsolationLevel Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie le niveau d'isolement d'une transaction.
public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel =
Public Enum IsolationLevel
- Héritage
Champs
Chaos | 5 | Les modifications en attente, provenant des transactions les plus isolées, ne peuvent pas être remplacées. |
ReadCommitted | 2 | Les données volatiles ne peuvent pas être lues pendant la transaction, mais peuvent être modifiées. |
ReadUncommitted | 3 | Les données volatiles peuvent être lues et modifiées pendant la transaction. |
RepeatableRead | 1 | Les données volatiles peuvent être lues mais pas modifiées pendant la transaction. De nouvelles données peuvent être ajoutées pendant la transaction. |
Serializable | 0 | Les données volatiles peuvent être lues mais pas modifiées et aucune nouvelle donnée ne peut être ajoutée pendant la transaction. |
Snapshot | 4 | Les données volatiles peuvent être lues. Avant qu'une transaction ne modifie des données, elle vérifie si une autre transaction a modifié les données après la lecture initiale. Si les données ont été mises à jour, une erreur est déclenchée. Une transaction peut ainsi obtenir la valeur précédemment validée des données. Lorsque vous essayez de promouvoir une transaction qui a été créée avec le niveau d’isolement |
Unspecified | 6 | Un niveau d'isolement différent de celui spécifié est utilisé actuellement, mais il est impossible de le déterminer. Une exception est levée si cette valeur est définie. |
Remarques
Les données affectées par une transaction sont appelées volatiles. Lorsque vous créez une transaction, vous pouvez spécifier le niveau d'isolation qui s'y applique. Le niveau d’isolation d’une transaction détermine le niveau d’accès à d’autres transactions à des données volatiles avant la fin d’une transaction.
Le niveau d’isolation le plus bas, ReadUncommitted
permet à de nombreuses transactions d’opérer simultanément sur un magasin de données et ne fournit aucune protection contre la corruption des données en raison de transactions interruptions. Le niveau d’isolation le plus élevé, Serializable
fournit un degré élevé de protection contre les transactions d’interruption, mais nécessite que chaque transaction soit terminée avant que d’autres transactions ne soient autorisées à fonctionner sur les données.
Le niveau d’isolation d’une transaction est déterminé lorsque la transaction est créée. Par défaut, l’infrastructure System.Transactions crée des Serializable
transactions. Vous pouvez déterminer le niveau d’isolation d’une transaction existante à l’aide de la Transaction.IsolationLevel propriété d’une transaction.