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

Il conteggio delle transazioni dopo EXECUTE indica che manca un'istruzione COMMIT o ROLLBACK TRANSACTION - SQL Server 2005

Non credo che manchi nulla. Probabilmente è una procedura memorizzata interna che viene chiamata dall'interno di una transazione (TRANCOUNT =1), avvia la propria transazione (TRANCOUNT =2) e quindi esegue il rollback. Bene, significa ripristinarlo, ma il rollback influisce su tutte le transazioni e non solo su quella più interna, quindi la procedura rovina il flusso di esecuzione.

Un modo per trovare il posto dipende dagli strumenti/abilità disponibili. Un modo migliore consiste nell'usare SQL Profiler che mostra tutti i comandi eseguiti da un'applicazione sul server. Scopri la stored procedure più esterna ed esamina il suo codice alla ricerca di eventuali altre chiamate di procedura.