Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

BEGIN TRANSACTION, ROLLBACK E COMMIT

Boa noite,

No caso de um grande sistema, onde a alteração, exclusão e inserção de dados é constante, ao realizar o comando Begin Transaction é salvo o estado atual de todo o banco de dados?

Por exemplo, estou realizando o acerto em uma tabela e abri um Begin Transaction por precaução. Se enquanto eu estiver executando as "correções" um outro usuário estiver inserindo alguns dados em outras tabelas, quando eu der um ROLLBACK, o SQL voltará 100% ao estado em que estava quando foi dado o comando Begin Transaction e perderá as alterações que esse outro usuário fez?

Att, Philipe Maroli Lima.

1 resposta
solução!

Olá Philipe, tudo bem?

Desculpe pela demora em obter retorno.

Sim, ao realizar o comando BEGIN TRANSACTION é salvo o estado atual de todo o banco de dados. Isso significa que todas as alterações realizadas durante a transação ficam em um estado temporário e só são efetivadas no banco de dados quando o comando COMMIT é executado.

Quando você executa o comando ROLLBACK, todas as alterações realizadas durante a transação são desfeitas e o banco de dados volta ao estado em que estava quando foi dado o comando BEGIN TRANSACTION.

Se outro usuário estiver inserindo dados em outras tabelas enquanto você está realizando as correções dentro de uma transação, as alterações dele serão efetivadas no banco de dados assim que ele realizar o COMMIT da sua transação. O comando COMMIT confirma todas as alterações realizadas dentro de uma transação e as torna permanentes no banco de dados.

Se você executar um ROLLBACK em sua transação, as alterações que você realizou serão desfeitas e o banco de dados será revertido para o estado anterior à sua transação, mas as alterações realizadas por outros usuários em outras transações serão mantidas, desde que essas transações tenham sido confirmadas (com o uso do comando COMMIT).

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!