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.