IsolationLevel Enumeration

Definition

Gibt die Isolationsebene einer Transaktion an.

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

Felder

Chaos 5

Die ausstehenden Änderungen von höher isolierten Transaktionen können nicht überschrieben werden.

ReadCommitted 2

Flüchtige Daten können während der Transaktion nicht gelesen werden, sie können jedoch geändert werden.

ReadUncommitted 3

Flüchtige Daten können während der Transaktion gelesen und geändert werden.

RepeatableRead 1

Flüchtige Daten können während der Transaktion gelesen, jedoch nicht geändert werden. Neue Daten können während der Transaktion hinzugefügt werden.

Serializable 0

Flüchtige Daten können gelesen, jedoch nicht geändert werden. Während der Transaktion können keine neuen Daten hinzugefügt werden.

Snapshot 4

Flüchtige Daten können gelesen werden. Bevor in einer Transaktion Daten geändert werden, wird überprüft, ob die Daten nach dem ersten Lesen von einer anderen Transaktion geändert wurden. Wenn die Daten aktualisiert wurden, wird ein Fehler ausgelöst. Dadurch kann eine Transaktion den zuvor übernommenen Wert der Daten abrufen.

Wenn Sie versuchen, eine mit der Snapshot-Isolationsstufe erstellte Transaktion höher zu stufen, wird eine InvalidOperationException mit der folgenden Fehlermeldung ausgelöst: „Transaktionen mit IsolationLevel-Momentaufnahme können nicht erweitert werden“.

Unspecified 6

Es wird nicht der angegebene Isolationsgrad verwendet, der Grad kann jedoch nicht bestimmt werden. Eine Ausnahme wird ausgelöst, wenn dieser Wert festgelegt ist.

Hinweise

Die von einer Transaktion betroffenen Daten werden als veränderlich bezeichnet. Beim Erstellen einer Transaktion können Sie die Isolationsstufe angeben, die für die Transaktion gelten soll. Die Isolationsebene einer Transaktion bestimmt, welche Zugriffsstufe für andere Transaktionen veränderlich sein muss, bevor eine Transaktion abgeschlossen wird.

Die niedrigste Isolationsstufe ermöglicht ReadUncommittedes vielen Transaktionen, gleichzeitig auf einem Datenspeicher zu arbeiten und keinen Schutz vor Datenbeschädigung aufgrund von unterbrechungsiven Transaktionen. Die höchste Isolationsstufe, stellt einen hohen Schutz vor unterbrechungsiven Transaktionen bereit, Serializableerfordert jedoch, dass jede Transaktion abgeschlossen ist, bevor andere Transaktionen auf den Daten ausgeführt werden dürfen.

Die Isolationsebene einer Transaktion wird bestimmt, wenn die Transaktion erstellt wird. Standardmäßig erstellt Serializable die System.Transactions Infrastruktur Transaktionen. Sie können die Isolationsebene einer vorhandenen Transaktion mithilfe der Transaction.IsolationLevel Eigenschaft einer Transaktion bestimmen.

Gilt für