Delen via


Transacties en gelijktijdigheid

Een transactie bestaat uit één opdracht of een groep opdrachten die als pakket worden uitgevoerd. Met transacties kunt u meerdere bewerkingen combineren tot één werkeenheid. Als er op één punt in de transactie een fout optreedt, kunnen alle updates worden teruggedraaid naar de status van de transactie vóór de transactie.

Een transactie moet voldoen aan de ACID-eigenschappen (atomiciteit, consistentie, isolatie en duurzaamheid) om gegevensconsistentie te garanderen. De meeste relationele databasesystemen, zoals Microsoft SQL Server, ondersteunen transacties door vergrendeling, logboekregistratie en transactiebeheerfaciliteiten te bieden wanneer een clienttoepassing een update, invoeg- of verwijderbewerking uitvoert.

Notitie

Transacties waarbij meerdere resources betrokken zijn, kunnen gelijktijdigheid verlagen als vergrendelingen te lang zijn. Houd daarom transacties zo kort mogelijk.

Als een transactie meerdere tabellen in dezelfde database of server omvat, presteren expliciete transacties in opgeslagen procedures vaak beter. U kunt transacties maken in opgeslagen SQL Server-procedures met behulp van de Transact-SQLBEGIN TRANSACTIONCOMMIT TRANSACTION- en ROLLBACK TRANSACTION instructies.

Voor transacties met verschillende resourcemanagers, zoals een transactie tussen SQL Server en Oracle, is een gedistribueerde transactie vereist.

In dit gedeelte

Lokale transacties
Demonstreert hoe u transacties uitvoert op basis van een database.

Gedistribueerde transacties
Beschrijft hoe u gedistribueerde transacties uitvoert in ADO.NET.

System.Transactions-integratie met SQL Server
Beschrijft System.Transactions de integratie met SQL Server voor het werken met gedistribueerde transacties.

Optimistische gelijktijdigheid
Beschrijft optimistische en pessimistische gelijktijdigheid en hoe u kunt testen op gelijktijdigheidsschendingen.

Zie ook