Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Differenza tra transazione implicita ed esplicita

Fondamentalmente, in c# quando si imposta TransactionScope su Implicit, viene chiamato il comando SET di SQL Server per impostare la connessione in modalità IMPLICIT_TRANSACTIONS. Qualsiasi cosa tu faccia (usando uno dei comandi elencati nel 2° link) avvia una transazione che viene mantenuta aperta fino a viene emesso un commit. Se non viene emesso alcun commit alla fine di una connessione, viene eseguito un ROLLBACK implicito.

Questo differisce dall'impostazione OFF, che inserisce anche ogni istruzione in una transazione:la differenza è che nella modalità OFF (quindi le transazioni sono esplicite), ogni transazione (istruzione singola) è immediatamente impegnato.