sql >> Databasteknik >  >> RDS >> Sqlserver

Antal transaktioner efter EXECUTE anger att en COMMIT- eller ROLLBACK TRANSACTION-sats saknas - SQL server 2005

Jag tror inte att något saknas. Det är förmodligen en inre lagrad procedur som anropas inifrån en transaktion (TRANCOUNT =1), startar sin egen transaktion (TRANCOUNT =2) och sedan rullar tillbaka den. Jo, det betyder att rulla tillbaka det, men rollback påverkar alla transaktioner och inte bara den innersta, så proceduren skruvar upp exekveringsflödet.

Ett sätt att hitta platsen beror på tillgängliga verktyg/färdigheter. Ett bättre sätt är att använda SQL Profiler som visar alla kommandon som exekveras av en applikation mot servern. Ta reda på den yttersta lagrade proceduren och gå igenom dess kod och leta efter andra proceduranrop.



  1. Hur man anropar en procedur som använder samma tabell i efter trigger

  2. Hur man ansluter till Oracle in go

  3. I MySQL, när det finns ett dubbelinmatningsfel, hur förhindrar jag att primärnyckeln automatiskt ökar?

  4. Tabellvärderad parameter:skicka data i små bitar