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
Chaos | 5 | Čekající změny z více izolovaných transakcí nelze přepsat. |
ReadCommitted | 2 | Během transakce nelze číst nestálé data, ale je možné je upravit. |
ReadUncommitted | 3 | Během transakce je možné číst a upravovat nestálé data. |
RepeatableRead | 1 | Nestálé data je možné číst, ale během transakce je neměňovat. Během transakce je možné přidat nová data. |
Serializable | 0 | Nestálé data je možné číst, ale ne upravovat a během transakce nelze přidat žádná nová data. |
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 čtení. Pokud se data aktualizovala, vyvolá se chyba. Díky tomu se transakce dostane k dříve potvrzené hodnotě dat. Při pokusu o zvýšení úrovně izolace transakce, která byla vytvořena s |
Unspecified | 6 | Používá se jiná úroveň izolace než zadaná, 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í transakcí, můžete určit úroveň izolace, která se použije pro transakce. Úroveň izolace transakce určuje, jakou úroveň přístupu mají ostatní transakce nestálá data před dokončením transakce.
Nejnižší úroveň izolace umožňuje ReadUncommitted
mnoha transakcím pracovat na úložišti dat současně a neposkytuje žádnou ochranu proti poškození dat kvůli přerušení transakcí. Nejvyšší úroveň izolace poskytuje Serializable
vysoký stupeň ochrany před přerušujícími transakcemi, ale vyžaduje, aby každá transakce byla dokončena před všemi jinými transakcemi, aby na datech fungovaly.
Ú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.