Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Liczba transakcji po wykonaniu EXECUTE wskazuje, że brakuje instrukcji COMMIT lub ROLLBACK TRANSACTION — serwer SQL 2005

Chyba niczego nie brakuje. Jest to prawdopodobnie wewnętrzna procedura składowana, która jest wywoływana z wnętrza transakcji (TRANCOUNT =1), rozpoczyna własną transakcję (TRANCOUNT =2), a następnie ją wycofuje. Cóż, oznacza to wycofanie, ale wycofanie wpływa na wszystkie transakcje, a nie tylko na tę najbardziej wewnętrzną, więc procedura zaburza przepływ realizacji.

Sposób odnalezienia miejsca zależy od dostępnych narzędzi/umiejętności. Lepszym sposobem jest użycie programu SQL Profiler, który pokazuje wszystkie polecenia wykonywane przez aplikację na serwerze. Znajdź najbardziej zewnętrzną procedurę składowaną i przejrzyj jej kod, szukając innych wywołań procedur.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Szybkie wdrożenie aplikacji Visual Studio 2010 z bazą danych SQL

  2. T-SQL Przeciążanie funkcji zdefiniowanych przez użytkownika?

  3. Wykonywać procedurę składowaną z cmd.exe?

  4. Komentowany kod zgłasza błąd

  5. Wykluczyć kolumnę za pomocą SELECT * [oprócz kolumny A] FROM tabela A?