Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Unterschied zwischen impliziter und expliziter Transaktion

Grundsätzlich wird in c#, wenn Sie TransactionScope auf Implizit festlegen, der SQL Server-Befehl SET aufgerufen, um die Verbindung in den Modus IMPLICIT_TRANSACTIONS zu versetzen. Alles, was Sie tun (mit einem der im zweiten Link aufgeführten Befehle), startet eine Transaktion, die bis offen gehalten wird ein Commit wird ausgegeben. Wenn am Ende einer Verbindung kein Commit abgesetzt wird, wird ein implizites ROLLBACK durchgeführt.

Dies unterscheidet sich von der OFF-Einstellung, die auch jede Anweisung in eine Transaktion stellt - der Unterschied besteht darin, dass im OFF-Modus (also Transaktionen explizit sind) jede Transaktion (singuläre Anweisung) sofort ist verpflichtet.