Le serveur annulera immédiatement toute transaction non validée lors de la fermeture d'une session.
Le pool ADO est responsable de l'effacement de toute transaction non validée avant de renvoyer une transaction au pool. Si vous disposez d'une connexion avec des transactions en attente, elle sera annulée.
Les transactions peuvent être démarrées par le client à l'aide de l'API ADO (SqlConnection.BeginTransaction) ou en exécutant une instruction BEGIN TRANSACTION. Le protocole TDS entre le client et le serveur a des jetons spéciaux informant le client lorsqu'une transaction a été démarrée/validée comme ceci afin qu'ADO sache que la connexion a des transactions en attente même si elles sont démarrées en code T-SQL.
connexes: http://stackoverflow.com/q/4978372/1569 –