J'exécute plusieurs transactions SQL à partir de mon application ASP.NET. Une transaction exécute plusieurs procédures stockées les unes après les autres. Les transactions sont assez longues.Comment ré-exécuter toutes les commandes dans une instance SqlTransaction annulée?
Lorsque deux instances de mon application, à savoir deux processus différents, se connectent à une base de données, je rencontre parfois un problème d'interblocage SQL. Dans ce cas, SQL Server annule automatiquement une transaction à partir de n'importe quel processus.
Lorsque cela se produit, je veux exécuter toutes les commandes (procédures stockées) dans le SqlTransaction
qui a été annulée.
Comment puis-je faire cela en C#?
Existe-t-il un moyen facile de ré-exécuter toutes les commandes dans une transaction SQL qui ont été exécutées avant que la transaction a été annulée par le serveur SQL?
Ou est-ce que je dois écrire ma propre logique pour "se souvenir" (et les exécuter à nouveau si nécessaire) toutes les procédures stockées que j'ai exécutées?
Vous devez réessayer dans le code utilisateur. Donc, votre dernière déclaration sur "la propre logique" est correcte. –