Transactions et concurrence (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.
Remarque |
---|
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, voir la documentation en ligne de SQL Server.
Les transactions impliquant différents gestionnaires de ressources, comme une transaction entre SQL Server et Oracle, requièrent une transaction distribuée.
Dans cette section
Transactions locales (ADO.NET)
Montre comment effectuer des transactions sur une base de données.Transactions distribuées (ADO.NET)
Décrit comment effectuer des transactions distribuées dans ADO.NET.Intégration de System.Transactions à SQL Server (ADO.NET)
Décrit l'intégration de System.Transactions avec SQL Server 2005 pour utiliser des transactions distribuées.Accès concurrentiel optimiste (ADO.NET)
Décrit les accès concurrentiels optimiste et pessimiste et la manière de tester les violations d'accès concurrentiel.
Voir aussi
Concepts
Autres ressources
Connexion à une source de données (ADO.NET)