IsolationLevel Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa poziom izolacji transakcji.
public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel =
Public Enum IsolationLevel
- Dziedziczenie
Pola
Chaos | 5 | Oczekujące zmiany z bardziej wysoce odizolowanych transakcji nie mogą zostać zastąpione. |
ReadCommitted | 2 | Dane nietrwałe nie mogą być odczytywane podczas transakcji, ale można je modyfikować. |
ReadUncommitted | 3 | Dane nietrwałe można odczytywać i modyfikować podczas transakcji. |
RepeatableRead | 1 | Dane nietrwałe można odczytywać, ale nie modyfikować podczas transakcji. Nowe dane można dodać podczas transakcji. |
Serializable | 0 | Dane nietrwałe można odczytywać, ale nie modyfikować, a podczas transakcji nie można dodawać żadnych nowych danych. |
Snapshot | 4 | Dane nietrwałe można odczytywać. Zanim transakcja modyfikuje dane, sprawdza, czy inna transakcja zmieniła dane po ich początkowym odczytaniu. Jeśli dane zostały zaktualizowane, zostanie zgłoszony błąd. Umożliwia to transakcji uzyskanie wcześniej zatwierdzonej wartości danych. Podczas próby podwyższenia poziomu transakcji, która została utworzona przy |
Unspecified | 6 | Używany jest inny poziom izolacji niż określony, ale nie można określić poziomu. Wyjątek jest zgłaszany, jeśli ta wartość jest ustawiona. |
Uwagi
Dane, których dotyczy transakcja, są nazywane niestabilnymi. Podczas tworzenia transakcji można określić poziom izolacji, który ma zastosowanie do transakcji. Poziom izolacji transakcji określa, jaki poziom dostępu do innych transakcji musi być niestabilny przed zakończeniem transakcji.
Najniższy poziom izolacji , ReadUncommitted
umożliwia jednoczesne działanie wielu transakcji w magazynie danych i nie zapewnia ochrony przed uszkodzeniem danych z powodu transakcji przerwania. Najwyższy poziom izolacji, Serializable
, zapewnia wysoki stopień ochrony przed transakcjami przerwania, ale wymaga, aby każda transakcja została ukończona, zanim jakiekolwiek inne transakcje będą mogły działać na danych.
Poziom izolacji transakcji jest określany podczas tworzenia transakcji. Domyślnie System.Transactions infrastruktura tworzy Serializable
transakcje. Poziom izolacji istniejącej transakcji można określić przy użyciu Transaction.IsolationLevel właściwości transakcji.