IsolationLevel IsolationLevel IsolationLevel IsolationLevel Enum

Definition

Gibt die Isolationsebene einer Transaktion an.Specifies the isolation level of a transaction.

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

Felder

Chaos Chaos Chaos Chaos 5

Die ausstehenden Änderungen von höher isolierten Transaktionen können nicht überschrieben werden.The pending changes from more highly isolated transactions cannot be overwritten.

ReadCommitted ReadCommitted ReadCommitted ReadCommitted 2

Flüchtige Daten können während der Transaktion nicht gelesen werden, sie können jedoch geändert werden.Volatile data cannot be read during the transaction, but can be modified.

ReadUncommitted ReadUncommitted ReadUncommitted ReadUncommitted 3

Flüchtige Daten können während der Transaktion gelesen und geändert werden.Volatile data can be read and modified during the transaction.

RepeatableRead RepeatableRead RepeatableRead RepeatableRead 1

Flüchtige Daten können während der Transaktion gelesen, jedoch nicht geändert werden.Volatile data can be read but not modified during the transaction. Neue Daten können während der Transaktion hinzugefügt werden.New data can be added during the transaction.

Serializable Serializable Serializable 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.Volatile data can be read but not modified, and no new data can be added during the transaction.

Snapshot Snapshot Snapshot Snapshot 4

Flüchtige Daten können gelesen werden.Volatile data can be read. 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.Before a transaction modifies data, it verifies if another transaction has changed the data after it was initially read. Wenn die Daten aktualisiert wurden, wird ein Fehler ausgelöst.If the data has been updated, an error is raised. Dadurch kann eine Transaktion den zuvor übernommenen Wert der Daten abrufen.This allows a transaction to get to the previously committed value of the data.

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“.When you try to promote a transaction that was created with the Snapshot isolation level, an InvalidOperationException is thrown with the error message "Transactions with IsolationLevel Snapshot cannot be promoted".

Unspecified Unspecified Unspecified Unspecified 6

Es wird nicht der angegebene Isolationsgrad verwendet, der Grad kann jedoch nicht bestimmt werden.A different isolation level than the one specified is being used, but the level cannot be determined. Eine Ausnahme wird ausgelöst, wenn dieser Wert festgelegt ist.An exception is thrown if this value is set.

Hinweise

Die von einer Transaktion betroffenen Daten werden als flüchtig bezeichnet.The data affected by a transaction is called volatile. Beim Erstellen einer Transaktion können Sie die Isolationsstufe angeben, die für die Transaktion gelten soll.When you create a transaction, you can specify the isolation level that applies to the transaction. Die Isolationsstufe einer Transaktion bestimmt, welche Zugriffsebene andere Transaktionen auf flüchtige Daten haben, bevor eine Transaktion abgeschlossen wird.The isolation level of a transaction determines what level of access other transactions have to volatile data before a transaction completes.

Mit der niedrigsten Isolations ReadUncommittedStufe () können viele Transaktionen gleichzeitig in einem Datenspeicher ausgeführt werden und bieten keinen Schutz vor Daten Beschädigungen aufgrund von interruptiven Transaktionen.The lowest isolation level, ReadUncommitted, allows many transactions to operate on a data store simultaneously and provides no protection against data corruption due to interruptive transactions. Die höchste Isolationsstufe Serializable,, bietet ein hohes Maß an Schutz gegen destruktiv Transaktionen, erfordert jedoch, dass jede Transaktion abgeschlossen ist, bevor andere Transaktionen mit den Daten arbeiten können.The highest isolation level, Serializable, provides a high degree of protection against interruptive transactions, but requires that each transaction complete before any other transactions are allowed to operate on the data.

Die Isolationsstufe einer Transaktion wird beim Erstellen der Transaktion bestimmt.The isolation level of a transaction is determined when the transaction is created. Standardmäßig erstellt Serializable die System.Transactions -infrastrukturtransaktionen.By default, the System.Transactions infrastructure creates Serializable transactions. Mithilfe der Transaction.IsolationLevel -Eigenschaft einer Transaktion können Sie die Isolationsstufe einer vorhandenen Transaktion ermitteln.You can determine the isolation level of an existing transaction by using the Transaction.IsolationLevel property of a transaction.

Gilt für: