Compartilhar via


Transações

O conceito de uma transação foi desenvolvido para lidar com casos em que o estado resultante do banco de dados depende do sucesso total de uma série de operações.Isso pode vir porque operações sucessivas podem modificar os resultados de operações anteriores.Em tais casos, se qualquer uma operação falhar, o estado resultante pode ser indeterminado.

Para resolver esse problema, transações de agrupar uma série de operações de tal forma que a integridade do resultado final pode ter certeza.Ou todas as operações devem ser bem-sucedido e, em seguida, ser confirmada (gravadas no banco de dados) ou a transação inteira falhar.O cancelamento da transação é chamado de reversão.Reversão permite uma recuperação das alterações e retorna o banco de dados para o estado pretransaction.

Por exemplo, em uma transação bancário automatizada, se você transferência money de uma conta para conta B, tanto a retirada do depósito A e b deve ter êxito ao processar corretamente os fundos ou toda a transação deve falhar.

Uma transação deve ter propriedades ACID, que suporte o seguinte:

  • Atomicidade   Uma transação é uma unidade atômica de trabalho e executa uma única vez; é tudo o trabalho é concluído ou nenhum.

  • Consistência   Uma transação preserva a consistência dos dados, transformando um estado consistente dos dados em outro estado consistente dos dados.Dados vinculados por uma transação devem ser preservados semanticamente.

  • Isolamento   Uma transação é uma unidade de isolamento e cada ocorre separadamente e independentemente de transações simultâneas.Uma transação nunca verá os estágios intermediários de outra transação.

  • Durabilidade   Uma transação é uma unidade de recuperação.Se uma transação for bem-sucedida, suas atualizações persistirem, mesmo se o sistema falha ou for desligado.Se uma transação falhar, o sistema permanece no estado anterior à confirmação da transação.

Você pode oferecer suporte a transações no banco de dados OLE (consulte Suporte a transações em OLE DB) ou ODBC (consulte Transação (ODBC)).

Uma transação distribuída é uma transação que atualiza dados distribuídos, ou seja, os dados em mais de um sistema de computador em rede.Se você deseja oferecer suporte a transações em um sistema distribuído, você deve usar o Microsoft .NET estrutura em vez do suporte a transações OLE DB.

Para obter informações sobre transações no Microsoft .NET estrutura, consulte Processamento de transações in the Windows Software Development Kit (SDK).

Consulte também

Conceitos

Programação de acesso de dados