Udostępnij przez


Cursor Transaction Isolation Levels

Blokowanie zachowanie określonych kursor jest określana przez połączenie blokujące zachowania współbieżność kursor ustawienie wszystkie wskazówki blokowania określony w kursorze SELECT, transakcji i transakcji poziom izolacji opcji.

Microsoft SQL Server obsługuje te kursor poziomów izolacji transakcji:

  • Odczyt zadeklarowane
    SQL Server uzyskuje blokadę udziału podczas czytania wiersza do kursor, ale zwalnia blokadę natychmiast po zapoznaniu się z znajdującymi się w wierszu.Ponieważ żądania blokada udostępnionego są blokowane przez wyłącznej blokada, kursor nie wiersza, który inne zadanie zostało zaktualizowane, ale nie zostały jeszcze zatwierdzone do czytania.Odczyt popełnionych jest domyślne ustawienie poziom izolacji dla obu SQL Server i ODBC.

  • Odczyt niezatwierdzony
    SQL Server żąda blokady nie podczas czytania wiersza do kursor i uwzględnia zdefiniowane nie wyłącznej blokady.Kursory mogą być wypełniane wartości, które zostały już zostały zaktualizowane, ale nie jeszcze zatwierdzone.Użytkownik jest pomijanie wszystkie blokady mechanizmy kontroli transakcji w SQL Server.

  • Powtarzalny przeczytane lub możliwy do serializacji
    SQL Server żądania blokada współdzielona w każdym wierszu w postaci, w jakiej jest wczytuje do kursora w odczytu zatwierdzone, ale jeśli kursor zostanie otwarty w obrębie transakcji, udostępnionych blokada są przechowywane aż do zakończenia transakcji, a nie są zwalniane po wierszu jest do odczytu.Jest to ten sam efekt jak określanie HOLDLOCK w instrukcja SELECT.

  • migawka
    SQL Server żąda blokady nie podczas czytania wiersza do kursor i uwzględnia zdefiniowane nie wyłącznej blokady.Kursor jest wypełniony wartości czas, po pierwszym uruchomieniu transakcji.Nadal wymagane są niezależnie od użycia izolacji migawka blokad przewijania.