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ů, mohou snížit úroveň souběžnosti, pokud jsou zámky drženy příliš dlouho. 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í 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 této sekci

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á souběžnost
Popisuje optimistickou a pesimistickou souběžnost a způsob, jak můžete testovat porušení souběžnosti.

Viz také