Sdílet prostřednictvím


Transakce a souběžnost

Transakce se skládá z jednoho příkazu nebo skupiny příkazů, které se spouští jako balíček. Transakce umožňují kombinovat více operací do jedné jednotky práce. Pokud dojde k selhání v jednom okamžiku v transakci, všechny aktualizace lze vrátit zpět do stavu před transakce.

Aby bylo možné zaručit konzistenci dat, musí transakce odpovídat vlastnostem ACID – atomicity, konzistence, izolace a stálosti. Většina systémů relačních databází, jako je Microsoft SQL Server, podporuje transakce tím, že poskytuje zamykání, protokolování a zařízení pro správu transakcí pokaždé, když klientská aplikace provede aktualizaci, vložení nebo odstranění operace.

Poznámka:

Transakce, které zahrnují více prostředků, můžou snížit souběžnost, pokud jsou zámky příliš dlouhé. Proto udržujte transakce co nejkratší.

Pokud transakce zahrnuje více tabulek ve stejné databázi nebo serveru, explicitní transakce v uložených procedurách často fungují lépe. Transakce můžete vytvářet v uložených procedurách SQL Serveru pomocí jazyka Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTIONa ROLLBACK TRANSACTION příkazů.

Transakce zahrnující různé správce prostředků, jako je transakce mezi SQL Serverem a Oracle, vyžadují distribuovanou transakci.

V tomto oddílu

Místní transakce
Ukazuje, jak provádět transakce s databází.

Distribuované transakce
Popisuje, jak provádět distribuované transakce v ADO.NET.

Integrace System.Transactions s SQL Serverem
Popisuje System.Transactions integraci s SQL Serverem pro práci s distribuovanými transakcemi.

Optimistická metoda souběžného zpracování
Popisuje optimistickou a pesimistickou souběžnost a způsob, jak můžete testovat porušení souběžnosti.

Viz také