Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Returnerar en enda rad som visar statusinformationen för transaktionen i den aktuella sessionen.
Anmärkning
För att kalla detta från Azure Synapse Analytics eller Analytics Platform System (PDW), använd namnet sys.dm_pdw_nodes_tran_current_transaction. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
Syntax
sys.dm_tran_current_transaction
Tabell returnerad
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| transaction_id | bigint | Transaktions-ID för den aktuella snapshoten. |
| transaction_sequence_num | bigint | Sekvensnummer för transaktionen som genererar postversionen. |
| transaction_is_snapshot | bit | Ögonblicksbild av isoleringstillstånd. Detta värde är 1 om transaktionen startas under snapshot-isolering. Annars är värdet 0. |
| first_snapshot_sequence_num | bigint | Lägsta transaktionssekvensnummer för de transaktioner som var aktiva när en ögonblicksbild togs. Vid exekvering tar en ögonblicksbild av en ögonblicksbild av alla aktiva transaktioner vid den tidpunkten. För icke-snapshot-transaktioner visar denna kolumn 0. |
| last_transaction_sequence_num | bigint | Globalt sekvensnummer. Detta värde representerar det senaste transaktionssekvensnumret som genererades av systemet. |
| first_useful_sequence_num | bigint | Globalt sekvensnummer. Detta värde representerar det äldsta transaktionssekvensnumret för transaktionen som har radversioner som måste behållas i versionslagret. Radversioner som skapats genom tidigare transaktioner kan tas bort. |
| pdw_node_id | int |
gäller för: Azure Synapse Analytics, Analytics Platform System (PDW) Identifieraren för noden som den här fördelningen är på. |
Permissions
På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.
I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.
Behörigheter för SQL Server 2022 och senare
Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.
Examples
Följande exempel använder ett testscenario där fyra samtidiga transaktioner, var och en identifierad med ett transaktionssekvensnummer (XSN), körs i en databas där ALLOW_SNAPSHOT_ISOLATION och READ_COMMITTED_SNAPSHOT alternativen är inställda på ON. Följande transaktioner körs:
XSN-57 är en uppdateringsoperation under serialiserbar isolering.
XSN-58 är samma som XSN-57.
XSN-59 är en select-operation under snapshot-isolering.
XSN-60 är samma som XSN-59.
Följande fråga utförs inom ramen för varje transaktion.
SELECT
transaction_id
,transaction_sequence_num
,transaction_is_snapshot
,first_snapshot_sequence_num
,last_transaction_sequence_num
,first_useful_sequence_num
FROM sys.dm_tran_current_transaction;
Här är resultatet för XSN-59.
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9387 59 1
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
57 61
first_useful_sequence_num
-------------------------
57
Resultatet visar att XSN-59 är en ögonblickskopia som använder XSN-57 som den första transaktionen som var aktiv när XSN-59 startade. Detta innebär att XSN-59 läser data som genomförs av transaktioner med ett transaktionssekvensnummer lägre än XSN-57.
Här är resultatet för XSN-57.
transaction_id transaction_sequence_num transaction_is_snapshot
-------------------- ------------------------ -----------------------
9295 57 0
first_snapshot_sequence_num last_transaction_sequence_num
--------------------------- -----------------------------
NULL 61
first_useful_sequence_num
-------------------------
57
Eftersom XSN-57 inte är en ögonblickskopia, first_snapshot_sequence_num är NULL.
Se även
Dynamiska hanteringsvyer och funktioner (Transact-SQL)
transaktionsrelaterade dynamiska hanteringsvyer och funktioner (Transact-SQL)