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

Le nombre de transactions après EXECUTE indique qu'une instruction COMMIT ou ROLLBACK TRANSACTION est manquante - SQL Server 2005

Je ne pense pas qu'il manque quelque chose. Il s'agit probablement d'une procédure stockée interne qui est appelée depuis l'intérieur d'une transaction (TRANCOUNT =1), démarre sa propre transaction (TRANCOUNT =2) puis l'annule. Eh bien, cela signifie l'annuler, mais l'annulation affecte toutes les transactions et pas seulement la plus interne, donc la procédure bousille le flux d'exécution.

Une façon de trouver le lieu dépend des outils/compétences disponibles. Une meilleure méthode consiste à utiliser SQL Profiler qui affiche toutes les commandes exécutées par une application sur le serveur. Découvrez la procédure stockée la plus externe et parcourez son code à la recherche d'autres appels de procédure.