Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O conceito de 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 ocorrer porque operações sucessivas podem modificar os resultados de operações anteriores. Nesses casos, se qualquer operação falhar, o estado resultante pode ser indeterminado.
Para resolver este problema, as transações agrupam uma série de operações de forma a garantir a integridade do resultado final. Todas as operações devem ser bem-sucedidas e, em seguida, ser confirmadas (gravadas no banco de dados) ou toda a transação falha. O cancelamento da transação é chamado de reversão. A reversão permite uma recuperação das alterações e retorna o banco de dados ao estado de pré-transação.
Por exemplo, em uma transação bancária automatizada, se você transferir dinheiro da conta A para a conta B, tanto o saque de A quanto o depósito para B devem ter sucesso para processar os fundos corretamente, ou toda a transação deve falhar.
Uma transação deve ter propriedades ACID, que representam o seguinte:
Atomicidade Uma transação é uma unidade atômica de trabalho e é executada exatamente uma vez; ou todo o trabalho está feito ou nada é.
Coerência Uma transação preserva a consistência dos dados, transformando um estado consistente de dados em outro estado consistente de dados. Os dados vinculados por uma transação devem ser semanticamente preservados.
Isolamento Uma transação é uma unidade de isolamento e cada uma ocorre separadamente e independentemente de transações simultâneas. Uma transação nunca deve 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 persistirão, mesmo que o sistema falhe ou seja desligado. Se uma transação falhar, o sistema permanecerá no estado anterior à confirmação da transação.
Você pode oferecer suporte a transações em OLE DB (consulte Suportando 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, dados em mais de um sistema de computador em rede. Se você quiser oferecer suporte a transações em um sistema distribuído, use ADO.NET em vez do suporte a transações OLE DB.