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 virtuell tabell som visar alla aktiva transaktioner vid tidpunkten då den aktuella snapshot-transaktionen startar. Om den aktuella transaktionen inte är en ögonblickskopia returnerar denna funktion inga rader. sys.dm_tran_current_snapshot liknar sys.dm_tran_transactions_snapshot, förutom att sys.dm_tran_current_snapshot endast returnerar de aktiva transaktionerna för den aktuella snapshot-transaktionen.
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_snapshot. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
Syntax
sys.dm_tran_current_snapshot
Tabell returnerad
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| transaction_sequence_num | bigint | Transaktionssekvensnummer för den aktiva transaktionen. |
| 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 XSN-59.
SELECT
transaction_sequence_num
FROM sys.dm_tran_current_snapshot;
Här är resultatet.
transaction_sequence_num
------------------------
57
58
Resultaten visar att XSN-57 och XSN-58 var aktiva när snapshot-transaktionen XSN-59 startade. Samma resultat kvarstår, även efter att XSN-57 och XSN-58 committat eller rullat tillbaka, tills snapshot-transaktionen är klar.
Samma fråga utförs inom ramen för XSN-60.
Här är resultatet.
transaction_sequence_num
------------------------
57
58
59
Utdata för XSN-60 inkluderar samma transaktioner som visas för XSN-59, men inkluderar även XSN-59, som var aktiv när XSN-60 startade.
Se även
Vyer och funktioner för dynamisk hantering (Transact-SQL)
Transaktionsrelaterade dynamiska hanteringsvyer och funktioner (Transact-SQL)