Partager via


Transactions implicites

Lorsqu'une connexion fonctionne en mode de transaction implicite, l'instance de Moteur de base de données SQL Server démarre automatiquement une nouvelle transaction après la validation ou la restauration de la transaction en cours. Vous n'avez pas à définir le début d'une transaction, il vous suffit de valider ou de restaurer chaque transaction. Le mode de transaction implicite génère une succession continue de transactions.

Lorsque le mode de transaction implicite est activé pour une connexion, l'instance de Moteur de base de données démarre automatiquement une transaction lorsqu'il exécute pour la première fois l'une des instructions suivantes :

ALTER TABLE

INSERT

CREATE

OPEN

DELETE

REVOKE

DROP

SELECT

FETCH

TRUNCATE TABLE

GRANT

UPDATE

La transaction reste active jusqu'à l'exécution d'une instruction COMMIT ou ROLLBACK. Après la validation ou la restauration de la première transaction, l'instance de Moteur de base de données démarre automatiquement une nouvelle transaction chaque fois que l'une de ces instructions est exécutée sur la connexion. L'instance continue de créer une succession de transactions implicites tant que le mode de transaction implicite n'est pas désactivé.

Vous pouvez activer le mode de transaction implicite à l'aide de l'instruction Transact-SQL SET ou à l'aide des fonctions et méthodes d'API de base de données.

[!REMARQUE]

Dans une session MARS (Multiple Active Result Set), une transaction implicite Transact-SQL devient une transaction dont l'étendue est définie par traitement. À la fin du traitement du traitement, si la transaction dont l'étendue est définie par traitement n'est pas validée ou restaurée, SQL Server la restaure automatiquement. Pour plus d'informations, consultez Contrôle des transactions (Moteur de base de données) et Transactions (Transact-SQL).