Partilhar via


Transações e Simultaneidade

Uma transação consiste em um único comando ou um grupo de comandos que são executados como um pacote. As transações permitem combinar várias operações em uma única unidade de trabalho. Se ocorrer uma falha em um ponto da transação, todas as atualizações poderão ser revertidas para o estado anterior à transação.

Uma transação deve estar em conformidade com as propriedades ACID — atomicidade, consistência, isolamento e durabilidade — para garantir a consistência dos dados. A maioria dos sistemas de banco de dados relacional, como o Microsoft SQL Server, oferece suporte a transações fornecendo recursos de bloqueio, registro em log e gerenciamento de transações sempre que um aplicativo cliente executa uma operação de atualização, inserção ou exclusão.

Nota

As transações que envolvem vários recursos podem reduzir a simultaneidade se os bloqueios forem mantidos por muito tempo. Portanto, mantenha as transações o mais curtas possível.

Se uma transação envolver várias tabelas no mesmo banco de dados ou servidor, as transações explícitas em procedimentos armazenados geralmente têm um desempenho melhor. Você pode criar transações em procedimentos armazenados do SQL Server usando as instruções Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTIONe ROLLBACK TRANSACTION .

As transações que envolvem diferentes gerenciadores de recursos, como uma transação entre o SQL Server e o Oracle, exigem uma transação distribuída.

Nesta Secção

Transações Locais
Demonstra como executar transações em um banco de dados.

Transações distribuídas
Descreve como executar transações distribuídas no ADO.NET.

Integração System.Transactions com SQL Server
Descreve System.Transactions a integração com o SQL Server para trabalhar com transações distribuídas.

Simultaneidade otimista
Descreve a simultaneidade otimista e pessimista e como você pode testar violações de simultaneidade.

Consulte também