Delen via


Transacties en gelijktijdigheid

Van toepassing op: .NET Framework .NET Standard

ADO.NET downloaden

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.

Opmerking

Transacties waarbij meerdere resources betrokken zijn, kunnen de concurrentie verlagen als vergrendelingen te lang worden vastgehouden. 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-SQL BEGIN TRANSACTIONen COMMIT TRANSACTIONROLLBACK TRANSACTION instructies. Zie SQL Server Books Online voor meer informatie.

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

In deze sectie

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