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.