Partilhar 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 poderia 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 seria indeterminado.

Para resolver esse problema, transações agrupar uma série de operações de tal maneira que a integridade do resultado final pode ser garantida. Todas as operações devem ter êxito e, em seguida, ser confirmada (gravadas no banco de dados) ou a transação inteira falha. 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 de pretransaction.

Por exemplo, em uma transação automatizado de serviços bancários, se você transferir dinheiro da conta a conta B, tanto a retirada do depósito de um e a para b deve ter êxito para processar os fundos corretamente ou toda a transação deve falhar.

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

  • Atomicidade uma transação é uma unidade atômica de trabalho e executa exatamente uma vez; todo o trabalho é feito ou nada é.

  • Consistência uma transação preserva a consistência dos dados, transformando a um estado consistente dos dados em outro estado consistente dos dados. Dados ligados 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á 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.

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

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

Consulte também

Conceitos

Programação de acesso de dados