Transactions et concurrence (ADO.NET)

Mise à jour : November 2007

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

Voir aussi

Concepts

Notions de base des transactions

DbProviderFactories (ADO.NET)

Autres ressources

Connexion à une source de données (ADO.NET)

Commandes et paramètres (ADO.NET)

DataAdapters et DataReaders (ADO.NET)