IsolationLevel Wyliczenie

Definicja

Określa poziom izolacji transakcji.

public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel = 
Public Enum IsolationLevel
Dziedziczenie
IsolationLevel

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 Snapshot użyciu poziomu izolacji, InvalidOperationException zostanie zgłoszony komunikat o błędzie "Transakcje z migawką izolacjąLevel nie można podwyższyć poziomu".

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 , ReadUncommittedumoż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.

Dotyczy