Sdílet prostřednictvím


Konfigurace úrovní izolace transakcí

Com+ poskytuje vývojářům větší kontrolu nad svými aplikacemi tím, že umožňuje konfigurovatelné úrovně izolace transakcí. Verze modelu COM+ před com+ 1.5 vždy používaly nejvyšší úroveň izolace pro transakce. I když tato úroveň zaručuje, že integrita dat je vždy zachována, může vést k problémům s výkonem, jako jsou vypršení časového limitu, když je potřeba provést mnoho transakcí u velké databáze. Díky konfigurovatelným úrovním izolace můžou zkušení vývojáři zvýšit souběžnost, aby zlepšili výkon a škálovatelnost.

Com+ poskytuje následující úrovně izolace transakcí.

Úroveň Popis
Serializovaný Data přečtená aktuální transakcí nelze změnit jinou transakcí, dokud aktuální transakce nedokončí. Nelze vložit žádná nová data, která by ovlivnila aktuální transakci. Toto je nejbezpečnější úroveň izolace a je výchozí.
Opakovatelné čtení Data přečtená aktuální transakcí nelze změnit jinou transakcí, dokud aktuální transakce nedokončí. Během transakce lze vložit libovolný typ nových dat.
Potvrzené čtení Transakce nemůže číst data, která jsou právě upravována jinou transakcí, která ještě nebyla potvrzena. Toto je výchozí úroveň izolace v Microsoft SQL Serveru.
Nepotvrzené čtení Transakce může číst jakákoli data, i když je změněna jinou transakcí. Jedná se o nejméně bezpečnou úroveň izolace, ale umožňuje nejvyšší souběžnost.
Jakýkoliv Podporuje se jakákoli úroveň izolace. Toto nastavení nejčastěji používají podřízené komponenty, aby nedocházelo ke konfliktům. Toto nastavení je užitečné, protože každá podřízená komponenta musí být nakonfigurována s úrovní izolace, která je rovna nebo menší než úroveň izolace jeho bezprostřední nadřazené komponenty. Podřízená komponenta, která má nakonfigurovanou úroveň izolace jako Všechny, proto vždy používá stejnou úroveň izolace, jakou používá okamžitá nadřazená komponenta. Pokud kořenový objekt v transakci má svou úroveň izolace nakonfigurovanou na Any, její úroveň izolace se serializuje.

 

Poznámka

Pokud je podřízená komponenta nakonfigurována s vyšší úrovní izolace než nadřazená komponenta a pokusí se zapojit do transakce, dojde k chybě a transakce se přeruší.

 

Nastavení úrovně izolace transakcí