Mamy kilka list danych pobieranych z naszej aplikacji za pośrednictwem polecenia SqlCommand wykonującego kwerendę SELECT
w bazie danych SQL Server. Nie jawnie ustawiamy transakcji na SqlCommand, zamiast tylko przekazujemy ją SqlConnection i uruchamiamy. Czy jest tak, że gdy żadna transakcja nie zostanie określona, SQL Server zainicjuje i użyje domyślnej transakcji z domyślną wartością IsolationLevel z ReadCommitted
?Wykonywanie polecenia SQLC bez określania transakcji
Odpowiedz
Serwer SQL może pracować szczęśliwie bez jawnej transakcji. Ale tak, uważam, że jest to zasadniczo read-commit (chyba, że dodasz dodatkowe wskazówki do swoich obiektów zapytań, takich jak UPDLOCK
/NOLOCK
). Można badać to z:
DBCC USEROPTIONS
który pokazuje (między innymi):
isolation level read committed
SQL tworzy transakcję niejawnie dla swoich wypowiedzi, a ta transakcja jest zaangażowana gdy oświadczenie kończy. Poziom izolacji tej transakcji będzie bieżącym poziomem izolacji, który domyślnie jest ustawiony na READ COMMITTED. Niektóre stwierdzenia zastępują aktualny poziom izolacji i wymuszają READ COMMITTED (np. RECEIVE).
Jeśli twoja komenda Sql wykonuje zadanie wsadowe (więcej instrukcji), każda instrukcja dostępu do tabel utworzy własną transakcję.
Domyślna autocommit of transactions jest kontrolowana przez zmianę SET IMPLICIT_TRANSACTION ON.
Aby uzyskać więcej informacji, zobacz Controlling Transactions.
- 1. API Blockchain do określania potwierdzeń transakcji
- 2. Wykonywanie polecenia w Haskell
- 3. ExecuteNonQuery wymaga polecenia do transakcji
- 4. Wykonywanie pojedynczego polecenia w skrypcie powłoki bez sudo
- 5. Entity Framework bez transakcji?
- 6. Jak wycofać bez transakcji
- 7. Wykryto błąd klienta "wykonywanie poprzedniego polecenia wykonania polecenia czekania"
- 8. Schemat polecenia: wykonywanie wielu poleceń w sekwencji
- 9. Wykonywanie polecenia systemu Linux w programie c
- 10. Wykonywanie polecenia powłoki Django z wiersza poleceń
- 11. Wykonywanie polecenia wsadowego za pomocą zadania SSIS
- 12. Wykonywanie podstawowego polecenia powłoki w Elixir
- 13. Wykonywanie polecenia „makro”, aby uruchomić program
- 14. Typedef klasa szablonu bez określania parametrów szablonu
- 15. JSON.Net: deserializacja polimorficznych typów bez określania zespołu
- 16. zainstalować kabinę haskell bez ręcznego określania zależności
- 17. INSERT do tabeli bez określania nazwy kolumn
- 18. Definiowanie metody abstrakcyjnej bez określania parametrów
- 19. Django: Tworzenie urządzeń bez określania klucza podstawowego?
- 20. Wykonywanie połączeń bez ACTION_CALL aktywności
- 21. Wykonywanie UIView Przewijanie bez UIScrollView
- 22. Wykonaj wykonywanie skryptu bez ograniczeń
- 23. Łączenie biblioteki statycznej w gcc bez konieczności określania prefiksu "lib"
- 24. .NET Renderowanie transakcji Core bez TransactionScope
- 25. Odpowiednik LLDB polecenia gdb "directory" do określania ścieżki wyszukiwania źródła?
- 26. Wykonywanie dynamicznie utworzonego polecenia ze spacjami w skrypcie powłoki
- 27. CreateQuery nie jest ważny bez aktywnej transakcji
- 28. wykonywanie polecenia przez ssh, a następnie uruchamianie bash
- 29. Parsowanie PDOL dla polecenia GET PROCESSING OPTIONS w transakcji EMV
- 30. Wykonywanie kodu Pythona wewnątrz przeglądarki bez Jython
Może mam ten sam problem tutaj: http://stackoverflow.com/questions/41096727/is-there-an-implicit-transaction-in-sqlcommand-executenonquery – VansFannel