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

Die Transaktionsanzahl nach EXECUTE weist darauf hin, dass eine COMMIT- oder ROLLBACK TRANSACTION-Anweisung fehlt – SQL Server 2005

Ich glaube nicht, dass etwas fehlt. Es handelt sich wahrscheinlich um eine interne gespeicherte Prozedur, die innerhalb einer Transaktion aufgerufen wird (TRANCOUNT =1), eine eigene Transaktion startet (TRANCOUNT =2) und sie dann zurücksetzt. Nun, es bedeutet, es rückgängig zu machen, aber ein Rollback betrifft alle Transaktionen und nicht nur die innerste, also vermasselt die Prozedur den Ausführungsablauf.

Eine Möglichkeit, den Ort zu finden, hängt von den verfügbaren Werkzeugen/Fähigkeiten ab. Ein besserer Weg ist die Verwendung von SQL Profiler, der alle Befehle anzeigt, die von einer Anwendung auf dem Server ausgeführt werden. Finden Sie die äußerste gespeicherte Prozedur heraus und gehen Sie ihren Code durch, um nach anderen Prozeduraufrufen zu suchen.