Compartilhar via


Transações (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceWarehouse no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Uma transação é uma única unidade de trabalho. Se uma transação tiver êxito, todas as modificações de dados feitas durante a transação estarão confirmadas e se tornarão parte permanente do banco de dados. Se uma transação encontrar erros e precisar ser cancelada ou revertida, todas as modificações de dados serão apagadas.

O SQL Server opera nos seguintes modos de transação:

Modo de transação Description
Transações de confirmação automática Cada instrução individual é uma transação.
Transações explícitas Cada transação é explicitamente iniciada com a instrução BEGIN TRANSACTION e termina explicitamente com uma instrução ou COMMIT uma ROLLBACK instrução.
Transações implícitas Uma nova transação é iniciada implicitamente quando a transação anterior é concluída, mas cada transação é explicitamente concluída com uma instrução ou COMMIT uma ROLLBACK instrução.
Transações com escopo em lote Aplicável apenas a MARS (Conjuntos de Resultados Ativos Múltiplos), a transação Transact-SQL explícita ou implícita iniciada em uma sessão MARS se torna uma transação de escopo de lote. Uma transação com escopo em lote que não é confirmada ou revertida quando um lote é concluído é revertida automaticamente pelo SQL Server.

Para obter considerações especiais relacionadas a produtos de data warehouse, consulte Transações no Fabric Data Warehouse ou Transações (Azure Synapse Analytics).

Sintaxe de controle de transação

O Mecanismo de Banco de Dados SQL fornece as seguintes instruções de transação: