Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Diferença entre Transação Implícita e Explícita


Basicamente, em c# quando você define o TransactionScope para Implicit, ele chama o comando SQL Server SET para colocar a conexão no modo IMPLICIT_TRANSACTIONS. Qualquer coisa que você faça (usando um dos comandos listados no segundo link) inicia uma transação que é mantida aberta até um commit é emitido. Se nenhum commit for emitido no final de uma conexão, um ROLLBACK implícito será executado.

Isso difere da configuração OFF, que também coloca cada instrução em uma transação - a diferença é que no modo OFF (portanto, as transações são explícitas), cada transação (instrução singular) é imediatamente comprometido.