Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Différence entre transaction implicite et explicite

Fondamentalement, en c # lorsque vous définissez TransactionScope sur Implicit, il appelle la commande SQL Server SET pour mettre la connexion en mode IMPLICIT_TRANSACTIONS. Tout ce que vous faites (en utilisant l'une des commandes répertoriées dans le 2ème lien) démarre une transaction qui reste ouverte jusqu'à un commit est émis. Si aucun commit n'est émis à la fin d'une connexion, un ROLLBACK implicite est effectué.

Cela diffère du paramètre OFF, qui place également chaque instruction dans une transaction - la différence est qu'en mode OFF (donc les transactions sont explicites), chaque transaction (instruction singulière) est immédiatement engagé.