sys.dm_tran_current_snapshot (Transact-SQL)
Gibt eine virtuelle Tabelle zurück, in der alle aktiven Transaktionen zum Zeitpunkt des Starts der aktuellen Momentaufnahmetransaktion angezeigt werden. Wenn die aktuelle Transaktion keine Momentaufnahmetransaktion ist, gibt diese Funktion keine Zeilen zurück. sys.dm_tran_current_snapshot ähnelt sys.dm_tran_transactions_snapshot, mit dem Unterschied, dass sys.dm_tran_current_snapshot nur die aktiven Transaktionen für die aktuelle Momentaufnahmetransaktion zurückgibt.
Syntax
sys.dm_tran_current_snapshot
Zurückgegebene Tabelle
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
transaction_sequence_num |
bigint |
Die Transaktionssequenznummer der aktiven Transaktion. |
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.
Beispiele
Im folgenden Beispiel wird ein Testszenario verwendet, in dem vier gleichzeitige Transaktionen, die jeweils durch eine Transaktionssequenznummer (XSN) identifiziert werden, in einer Datenbank ausgeführt werden, für die die Optionen ALLOW_SNAPSHOT_ISOLATION und READ_COMMITTED_SNAPSHOT auf ON festgelegt sind. Die folgenden Transaktionen werden ausgeführt:
XSN-57 ist ein Updatevorgang auf der serialisierbaren Isolationsstufe.
XSN-58 ist mit XSN-57 identisch.
XSN-59 ist ein Select-Vorgang auf der Momentaufnahmeisolationsstufe.
XSN-60 entspricht XSN-59.
Die folgende Abfrage wird im Bereich von XSN-59 ausgeführt.
SELECT
transaction_sequence_num
FROM sys.dm_tran_current_snapshot;
Dies ist das Resultset.
transaction_sequence_num
------------------------
57
58
Die Ergebnisse zeigen an, dass XSN-57 und XSN-58 zum Zeitpunkt des Starts der Momentaufnahmetransaktion XSN-59 aktiviert waren. Das gleiche Ergebnis wird persistent gespeichert, sogar nachdem für XSN-57 und XSN-58 ein Commit oder Rollback ausgeführt wurde, bis die Momentaufnahmetransaktion fertig gestellt ist.
Die gleiche Abfrage wird im Bereich von XSN-60 ausgeführt.
Dies ist das Resultset.
transaction_sequence_num
------------------------
57
58
59
Die Ausgabe für XSN-60 enthält die gleichen Transaktionen wie für XSN-59, enthält jedoch auch XSN-59. Diese war beim Start von XSN-60 aktiv.
Siehe auch
Verweis
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
Dynamische Verwaltungssichten und -funktionen im Zusammenhang mit Transaktionen (Transact-SQL)