Transactions (Transact-SQL)Transactions (Transact-SQL)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data Warehouse ouiParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Une transaction est une unité de travail.A transaction is a single unit of work. Lorsqu'une transaction aboutit, toutes les modifications de données apportées lors de la transaction sont validées et intégrées de façon permanente à la base de données.If a transaction is successful, all of the data modifications made during the transaction are committed and become a permanent part of the database. Si une transaction rencontre des erreurs et doit être annulée ou restaurée, toutes les modifications de données sont supprimées.If a transaction encounters errors and must be canceled or rolled back, then all of the data modifications are erased.

SQL ServerSQL Serverfonctionne dans les modes de transaction suivants : operates in the following transaction modes:

Transactions en mode de validation automatiqueAutocommit transactions
Chaque instruction individuelle est une transaction.Each individual statement is a transaction.

Transactions explicitesExplicit transactions
Chaque transaction est explicitement lancée par l'instruction BEGIN TRANSACTION et explicitement terminée par une instruction COMMIT ou ROLLBACK.Each transaction is explicitly started with the BEGIN TRANSACTION statement and explicitly ended with a COMMIT or ROLLBACK statement.

Transactions implicitesImplicit transactions
Une nouvelle transaction est implicitement lancée lorsque la transaction précédente est terminée, mais chaque transaction est explicitement terminée par une instruction COMMIT ou ROLLBACK.A new transaction is implicitly started when the prior transaction completes, but each transaction is explicitly completed with a COMMIT or ROLLBACK statement.

Transaction dont l'étendue est définie par lotBatch-scoped transactions
Uniquement applicable aux ensembles de résultats MARS (Multiple Active Result Sets), une transaction Transact-SQLTransact-SQL explicite ou implicite qui démarre sous une session MARS devient une transaction dont l'étendue est définie par traitement.Applicable only to multiple active result sets (MARS), a Transact-SQLTransact-SQL explicit or implicit transaction that starts under a MARS session becomes a batch-scoped transaction. Une transaction dont l'étendue est définie par traitement qui n'est pas validée ou restaurée à la fin du traitement est automatiquement restaurée par SQL ServerSQL Server.A batch-scoped transaction that is not committed or rolled back when a batch completes is automatically rolled back by SQL ServerSQL Server.

Note

Pour les considérations spéciales relatives aux produits de l’entrepôt de données, consultez Transactions (SQL Data Warehouse).For special considerations related to Data Warehouse products, see Transactions (SQL Data Warehouse).

Dans cette sectionIn This Section

SQL ServerSQL Serverfournit les instructions de transaction suivantes : provides the following transaction statements:

BEGIN DISTRIBUTED TRANSACTIONBEGIN DISTRIBUTED TRANSACTION ROLLBACK TRANSACTIONROLLBACK TRANSACTION
BEGIN TRANSACTIONBEGIN TRANSACTION ROLLBACK WORKROLLBACK WORK
COMMIT TRANSACTIONCOMMIT TRANSACTION SAVE TRANSACTIONSAVE TRANSACTION
COMMIT WORKCOMMIT WORK

Voir aussiSee Also

SET IMPLICIT_TRANSACTIONS (Transact-SQL) SET IMPLICIT_TRANSACTIONS (Transact-SQL)
@@TRANCOUNT (Transact-SQL)@@TRANCOUNT (Transact-SQL)