IsolationLevel Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje úroveň izolace transakce.
public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel =
Public Enum IsolationLevel
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| Serializable | 0 | Nestálá data lze číst, ale ne upravovat a během transakce nelze přidat žádná nová data. |
| RepeatableRead | 1 | Nestálá data lze číst, ale během transakce je nelze upravovat. Během transakce lze přidat nová data. |
| ReadCommitted | 2 | Nestálá data nelze číst během transakce, ale lze je upravit. |
| ReadUncommitted | 3 | Nestálá data lze číst a upravovat během transakce. |
| Snapshot | 4 | Nestálá data je možné číst. Než transakce upraví data, ověří, jestli jiná transakce změnila data po počátečním přečtení. Pokud byla data aktualizována, vyvolá se chyba. To umožňuje transakci získat k dříve potvrzené hodnotě dat. Při pokusu o zvýšení úrovně transakce, která byla vytvořena s |
| Chaos | 5 | Čekající změny z více izolovaných transakcí nelze přepsat. |
| Unspecified | 6 | Používá se jiná úroveň izolace než zadaná úroveň, ale úroveň nelze určit. Pokud je tato hodnota nastavená, vyvolá se výjimka. |
Poznámky
Data ovlivněná transakcí se nazývají nestálá. Při vytváření transakce můžete zadat úroveň izolace, která se vztahuje na transakci. Úroveň izolace transakce určuje, jakou úroveň přístupu jiné transakce musí nestálé data před dokončením transakce.
Nejnižší úroveň izolace umožňuje ReadUncommittedmnoha transakcím pracovat s úložištěm dat současně a neposkytuje žádnou ochranu proti poškození dat kvůli přerušení transakcí. Nejvyšší úroveň izolace , Serializableposkytuje vysoký stupeň ochrany proti přerušení transakcí, ale vyžaduje, aby každá transakce byla dokončena před všemi ostatními transakcemi pracovat s daty.
Úroveň izolace transakce je určena při vytvoření transakce. Ve výchozím nastavení System.Transactions infrastruktura vytváří Serializable transakce. Úroveň izolace existující transakce můžete určit pomocí Transaction.IsolationLevel vlastnosti transakce.