Freigeben über


IsolationLevel Enumeration

Definition

Gibt die Isolationsebene einer Transaktion an.

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

Felder

Name Wert Beschreibung
Serializable 0

Veränderliche Daten können gelesen, aber nicht geändert werden, und während der Transaktion können keine neuen Daten hinzugefügt werden.

RepeatableRead 1

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

ReadCommitted 2

Veränderliche Daten können während der Transaktion nicht gelesen werden, können aber geändert werden.

ReadUncommitted 3

Veränderliche Daten können während der Transaktion gelesen und geändert werden.

Snapshot 4

Veränderliche Daten können gelesen werden. Bevor eine Transaktion Daten ändert, überprüft sie, ob eine andere Transaktion die Daten geändert hat, nachdem sie ursprünglich gelesen wurde. Wenn die Daten aktualisiert wurden, wird ein Fehler ausgelöst. Dadurch kann eine Transaktion zum zuvor zugesicherten Wert der Daten gelangen.

Wenn Sie versuchen, eine Transaktion höher zu stufen, die mit der Snapshot Isolationsstufe erstellt wurde, wird eine InvalidOperationException Fehlermeldung mit der Fehlermeldung "Transaktionen mit IsolationLevel Snapshot kann nicht heraufgestuft werden".

Chaos 5

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

Unspecified 6

Es wird eine andere Isolationsstufe als die angegebene verwendet, die Ebene 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. Wenn Sie eine Transaktion erstellen, können Sie die Isolationsstufe angeben, die für die Transaktion gilt. Die Isolationsebene einer Transaktion bestimmt, welche Zugriffsebene andere Transaktionen für veränderliche Daten haben, bevor eine Transaktion abgeschlossen ist.

Die niedrigste Isolationsstufe ermöglicht es vielen Transaktionen, ReadUncommittedgleichzeitig an einem Datenspeicher zu arbeiten und bietet keinen Schutz vor Datenbeschädigungen aufgrund von unterbrechungsbedingten Transaktionen. Die höchste Isolationsstufe , Serializablebietet einen hohen Schutz vor unterbrechungsiven Transaktionen, erfordert jedoch, dass jede Transaktion abgeschlossen ist, bevor andere Transaktionen mit den Daten arbeiten 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 ermitteln.

Gilt für: