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 TRANSACTION
a 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.