Udostępnij za pośrednictwem


sys.dm_tran_transactions_snapshot (języka Transact-SQL)

Zwraca wirtualnej tabela dla sequence_number transakcji, które są aktywne, gdy każdy migawka rozpoczęcia transakcji.Informacje, które jest zwracany przez tej mogą widoku można ułatwić należy wykonać następujące czynności:

  • Liczba aktualnie aktywnych znaleźć migawka transakcji.

  • Zidentyfikuj modyfikacje danych, które są ignorowane przez transakcję określonego migawka.Dla transakcji, które jest aktywne, gdy zostanie uruchomiony w transakcji migawka wszystkich modyfikacji danych w tej transakcji, nawet po zatwierdzeniu tej transakcji, są ignorowane w transakcji migawka.

Na przykład należy wziąć pod uwagę następujące dane wyjściowe sys.dm_tran_transactions_snapshot:

transaction_sequence_num snapshot_id snapshot_sequence_num
------------------------ ----------- ---------------------
59                       0           57
59                       0           58
60                       0           57
60                       0           58
60                       0           59
60                       3           57
60                       3           58
60                       3           59
60                       3           60

The transaction_sequence_num kolumna identifies the transaction sequence (XSN) number of the current migawka transactions. Dane wyjściowe przedstawia dwie: 59 i 60. The snapshot_sequence_num kolumna identifies the transaction sequence number of the transactions that are active when each migawka transaction starts.

Pokazuje dane wyjściowe, że migawkę 59 XSN uruchamia jednocześnie dwa aktywnych transakcji 57 XSN i XSN-58 transakcji są uruchomione.Jeśli 57 XSN lub 58 XSN modyfikacji danych, 59 XSN ignoruje zmiany, a następnie używa wersji wiersza do utrzymanie transakcyjnie spójności bazy danych.

migawka transakcji 60 XSN ignoruje przez 57 XSN i 58 XSN, a także 59 XSN modyfikacji danych.

dm_tran_transactions_snapshot

Zwracana tabela

Nazwa kolumna

Typ danych

Description

transaction_sequence_num

bigint

Numer sekwencji transakcji (XSN) transakcji migawka.

snapshot_id

int

Każdy identyfikator migawka Transact-SQL Instrukcja uruchamiana przy zatwierdzeniu odczytu przy użyciu wersji wiersza. Ta wartość jest używana do generowania transakcyjnie spójnego widoku bazy danych, do obsługi każdej kwerendy uruchamianych w obszarze popełnionych odczytu przy użyciu wersji wiersza.

snapshot_sequence_num

bigint

Numer sekwencji transakcji transakcji, który był aktywny podczas uruchamiania transakcji migawka.

Uprawnienia

Wymaga uprawnienia VIEW SERVER STATE na serwerze.

Remarks

When a snapshot transaction starts, the Database Engine records all of the transactions that are active at that time.sys.dm_tran_transactions_snapshot reports this information for all currently active snapshot transactions.

Każda transakcja jest identyfikowany przez numer sekwencji transakcji jest przypisywana w momencie rozpoczęcia transakcji.Transakcje uruchomienia w czasie instrukcja BEGIN TRANSACTION lub instrukcja BEGIN praca jest wykonywana.Jednak Database Engine przypisuje numer sekwencji transakcji z wykonanie pierwszego Transact-SQL Instrukcja uzyskuje dostęp do danych po instrukcji BEGIN TRANSACTION lub praca BEGIN. Numery sekwencji transakcji jest zwiększany o jeden.