sys.dm_tran_current_snapshot (języka Transact-SQL)

Zwraca wirtualnej tabela , który wyświetla wszystkie aktywne transakcje w czas uruchomienia bieżących transakcji migawka .Jeśli bieżąca transakcja jest transakcją migawka , ta funkcja zwraca żadne wiersze.sys.dm_tran_current_snapshot jest podobny do sys.dm_tran_transactions_snapshot, chyba że sys.dm_tran_current_snapshot zwraca tylko aktywnych transakcji bieżących transakcji migawka .

Składnia

sys.dm_tran_current_snapshot

Zwracana tabela

Nazwa kolumny

Typ danych

Opis

transaction_sequence_num

bigint

Numer sekwencji transakcji aktywnej transakcji.

Uprawnienia

Wymaga uprawnienia Wyświetlanie stanu serwera na serwerze.

Przykłady

W poniższym przykładzie użyto Scenariusz testów działa cztery jednoczesnych transakcji, każdy identyfikowane przez numer sekwencji transakcji (XSN) w baza danych o ALLOW_SNAPSHOT_ISOLATION i READ_COMMITTED_SNAPSHOT opcje zestaw na.Są uruchomione następujące transakcje:

  • XSN 57 jest operacją update w izolacji możliwy do serializacji.

  • XSN 58 jest taka sama jak XSN 57.

  • XSN 59 jest operacją select w izolacji migawka .

  • XSN-60 is the same as XSN-59.

Następująca kwerenda jest wykonywana w zakres XSN 59.

SELECT 
    transaction_sequence_num
  FROM sys.dm_tran_current_snapshot;

Oto zestaw wyników.

transaction_sequence_num
------------------------
57
58

wyniki pokazują XSN 57 i XSN 58 były aktywne w czas rozpoczęcia transakcji migawka XSN 59.To samo obowiązuje, nawet po XSN 57 i XSN 58 zatwierdzanie lub wycofaćprzed zakończeniem transakcji migawka .

Kwerenda jest wykonywany w zakres XSN 60.

Oto zestaw wyników.

transaction_sequence_num
------------------------
57
58
59

Produkcja XSN 60 zawiera transakcje, dla których są wyświetlane dla XSN 59, ale obejmuje również XSN 59, który był aktywny podczas uruchamiania XSN 60.