sql >> Database teknologi >  >> RDS >> Sqlserver

Transaktionsantal efter EXECUTE angiver, at en COMMIT- eller ROLLBACK TRANSACTION-sætning mangler - SQL server 2005

Jeg synes ikke, der mangler noget. Det er sandsynligvis en indre lagret procedure, der bliver kaldt inde fra en transaktion (TRANCOUNT =1), starter sin egen transaktion (TRANCOUNT =2) og derefter ruller den tilbage. Nå, det betyder at rulle det tilbage, men rollback påvirker alle transaktioner og ikke kun den inderste, så proceduren skruer op for eksekveringsflowet.

En måde at finde stedet på afhænger af tilgængelige værktøjer/færdigheder. En bedre måde er at bruge SQL Profiler, der viser alle kommandoer udført af en applikation mod serveren. Find ud af den yderste lagrede procedure, og gå gennem dens kode og se efter eventuelle andre procedurekald.



  1. MySQL - GROUP BY med ORDER DESC virker ikke

  2. Brug af DISTINCT inde i JOIN skaber problemer

  3. MYSQL - Sådan omgås rækkestørrelsesgrænsen på 66 KBytes

  4. Drupal-kodning og node-indsættelse