IsolationLevel 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
トランザクションの分離レベルを指定します。
public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel =
Public Enum IsolationLevel
- 継承
フィールド
Chaos | 5 | これより分離性の高いトランザクションからの保留中の変更に対しては上書きできません。 |
ReadCommitted | 2 | 揮発性データをトランザクション中に読み取ることはできませんが、変更することはできます。 |
ReadUncommitted | 3 | 揮発性データをトランザクション中に読み取ったり、変更したりできます。 |
RepeatableRead | 1 | 揮発性データをトランザクション中に読み取ることはできますが、変更することはできません。 トランザクション中に新しいデータを追加できます。 |
Serializable | 0 | 揮発性データを読み取ることはできますが、変更することはできません。また、トランザクション中に新しいデータを追加することはできません。 |
Snapshot | 4 | 揮発性データを読み取ることができます。 トランザクションがデータを変更する前に、データを最初に読み取った後に別のトランザクションがそれを変更していないかどうかを検査します。 データが更新されている場合は、エラーが発生します。 これにより、トランザクションは、データの前回コミットされた値に到達できます。
|
Unspecified | 6 | 指定した分離レベルとは異なる分離レベルが使用されていますが、レベルを確認できません。 この値が設定されている場合は、例外がスローされます。 |
注釈
トランザクションの影響を受けるデータは volatile と呼ばれます。 トランザクションの作成時に、トランザクションに適用する分離レベルを指定できます。 トランザクションの分離レベルによって、トランザクションが完了する前に他のトランザクションがデータを揮発性にする必要があるアクセス レベルが決まります。
最も低い分離レベルである は、 ReadUncommitted
多くのトランザクションがデータ ストアで同時に動作することを可能にし、中断トランザクションによるデータ破損に対する保護を提供しません。 最も高い分離レベルである は、 Serializable
中断トランザクションに対する高度な保護を提供しますが、他のトランザクションがデータに対する操作を許可される前に各トランザクションを完了する必要があります。
トランザクションの分離レベルは、トランザクションの作成時に決定されます。 既定では、インフラストラクチャによってトランザクションが System.Transactions 作成 Serializable
されます。 トランザクションの プロパティを使用 Transaction.IsolationLevel して、既存のトランザクションの分離レベルを決定できます。
適用対象
.NET