Transacciones implícitas

Cuando una conexión funciona en modo de transacciones implícitas, SQL Server Database Engine (Motor de base de datos de SQL Server) inicia automáticamente una nueva transacción después de confirmar o revertir la transacción actual. No tiene que realizar ninguna acción para delinear el inicio de una transacción, sólo tiene que confirmar o revertir cada transacción. El modo de transacciones implícitas genera una cadena continua de transacciones.

Tras establecer el modo de transacciones implícitas en una conexión, la instancia de Motor de base de datos inicia automáticamente una transacción la primera vez que ejecuta una de estas instrucciones:

ALTER TABLE

INSERT

CREATE

OPEN

DELETE

REVOKE

DROP

SELECT

FETCH

TRUNCATE TABLE

GRANT

UPDATE

La transacción sigue activa hasta que emita una instrucción COMMIT o ROLLBACK. Una vez que la primera transacción se ha confirmado o revertido, la instancia Motor de base de datos inicia automáticamente una nueva transacción la siguiente vez que la conexión ejecuta una de estas instrucciones. La instancia continúa generando una cadena de transacciones implícitas hasta que se desactiva el modo de transacciones implícitas.

El modo de transacciones implícitas se establece mediante la instrucción SET de Transact-SQL o a través de funciones y métodos de la API de bases de datos.

Nota

En una sesión de conjunto de resultados activos múltiples (MARS), una transacción implícita de Transact-SQL se convierte en una transacción de lote. Si la transacción de lote no se confirma ni se revierte cuando se termina el lote, queda revertida por SQL Server automáticamente. Para obtener más información, vea Controlar transacciones (motor de base de datos) y Instrucciones de transacción (Transact-SQL).