Il server eseguirà il rollback di tutte le transazioni non richiamate quando una sessione viene chiusa.
Il pool ADO è responsabile per cancellare qualsiasi transazione non salvata prima di restituire una transazione al pool. Se si dispone di una connessione con transazioni in sospeso, verrà eseguito il rollback.
Le transazioni possono essere avviate dal client utilizzando l'API ADO (SqlConnection.BeginTransaction) o eseguendo un'istruzione BEGIN TRANSACTION. Il protocollo TDS tra client e server dispone di token speciali che informano il client quando una transazione è stata avviata/avviata in questo modo, quindi ADO sa che la connessione ha transazioni in sospeso anche se sono state avviate nel codice T-SQL.
fonte
2009-10-08 18:21:57
correlati: http://stackoverflow.com/q/4978372/1569 –