Partilhar via


Transações (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Uma transação é uma única unidade de trabalho. Se uma transação for bem-sucedida, todas as modificações de dados feitas durante a transação serã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
Confirmação automática de transações Cada extrato individual é uma transação.
Transações explícitas Cada transação é explicitamente iniciada com a instrução e explicitamente terminada BEGIN TRANSACTION com uma COMMITROLLBACK ou instrução.
Transações implícitas Uma nova transação é implicitamente iniciada quando a transação anterior é concluída, mas cada transação é explicitamente concluída com um COMMIT ou ROLLBACK extrato.
Transações com escopo em lote Aplicável apenas a vários conjuntos de resultados ativos (MARS), uma transação explícita ou implícita Transact-SQL que começa em uma sessão MARS torna-se uma transação com escopo em 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ções

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