Udostępnij za pośrednictwem


sys.dm_tran_current_snapshot (Transact-SQL)

Zwraca wirtualnej tabela, który wyświetla wszystkie aktywne transakcje na czas przy bieżącym migawkę rozpoczęcia transakcji.If the current transaction is not a snapshot transaction, this function returns no rows.sys.dm_tran_current_snapshot is similar to sys.dm_tran_transactions_snapshot, except that sys.dm_tran_current_snapshot returns only the active transactions for the current snapshot transaction.

sys.dm_tran_current_snapshot

Zwracana tabela

Nazwa kolumna

Typ danych

Description

transaction_sequence_num

bigint

Numer sekwencji transakcji aktywnej transakcji.

Uprawnienia

Wymaga uprawnienia VIEW SERVER STATE na serwerze.

Przykłady

W poniższym przykładzie użyto Scenariusz testów systemem cztery jednoczesnych transakcji, każdy identyfikowane przez numer sekwencji transakcji (XSN) w bazie danych, które zawiera opcje ALLOW_SNAPSHOT_ISOLATION i READ_COMMITTED_SNAPSHOT ustawiona na ON.Uruchomione są następujące operacje:

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

  • 58 XSN jest taka sama, jak 57 XSN.

  • XSN-59 jest operacją select w izolacji migawka.

  • 60 XSN jest taka sama, jak XSN-59).

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

SELECT 
    transaction_sequence_num
  FROM sys.dm_tran_current_snapshot;

Here is the result set.

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

Wyniki wskazują, że 57 XSN i 58 XSN były aktywne w momencie rozpoczęcia transakcji migawka XSN-59).Ten sam wynik będzie się powtarzał, nawet po 57 XSN i 58 XSN przekazać lub wycofać, dopóki nie zakończy się transakcji migawka.

Tej samej kwerendy jest wykonywany w zakresie XSN 60.

Here is the result set.

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

Dane wyjściowe do 60 XSN zawiera te same transakcje, które są wyświetlane dla XSN-59, ale także XSN-59, który był aktywny podczas uruchamiania XSN 60.