Partage via


Transactions et accès simultané

S'applique à : .NET Framework .NET .NET Standard

Télécharger ADO.NET

Une transaction est composée d’une seule commande ou d’un groupe de commandes qui s’exécutent sous forme de package. Les transactions vous permettent de combiner plusieurs opérations en une seule unité de travail. Si une panne se produit pendant la transaction, toutes les mises à jour sont ramenées dans l’état qui était le leur avant le début de la transaction.

Une transaction doit être conforme aux propriétés ACID (atomicité, cohérence, isolation et durabilité) afin de garantir la cohérence des données. La plupart des systèmes de bases de données relationnelles, tels que Microsoft SQL Server, prennent en charge des transactions en offrant des fonctionnalités de verrouillage, de journalisation et de gestion des transactions lorsqu’une application cliente exécute une opération de mise à jour, d’insertion ou de suppression.

Notes

Les transactions impliquant plusieurs ressources peuvent réduire l'accès concurrentiel si des verrous sont conservés trop longtemps. Par conséquent, réduisez autant que possible les transactions.

Si une transaction implique plusieurs tables dans la même base de données ou le même serveur, des transactions explicites dans des procédures stockées fonctionnent souvent mieux. Vous pouvez créer des transactions dans des procédures stockées SQL Server à l'aide des instructions Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTION et ROLLBACK TRANSACTION. Pour plus d'informations, consultez la documentation en ligne de SQL Server.

Les transactions impliquant différents gestionnaires de ressources, comme une transaction entre SQL Server et Oracle, nécessitent une transaction distribuée.

Dans cette section

Transactions locales
Montre comment effectuer des transactions sur une base de données.

Transactions distribuées
Décrit comment effectuer des transactions distribuées dans ADO.NET.

Intégration de System.Transactions à SQL Server
Décrit l’intégration de System.Transactions à SQL Server pour utiliser les transactions distribuées.

Accès concurrentiel optimiste Explique l’accès concurrentiel optimiste et pessimiste et comment déceler les violations d’accès concurrentiel.

Voir aussi