Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
Geeft een virtuele tabel terug die alle actieve transacties toont op het moment dat de huidige snapshottransactie begint. Als de huidige transactie geen snapshot-transactie is, geeft deze functie geen rijen terug. sys.dm_tran_current_snapshot lijkt op sys.dm_tran_transactions_snapshot, behalve dat sys.dm_tran_current_snapshot alleen de actieve transacties voor de huidige snapshottransactie teruggeeft.
Opmerking
Om dit aan te roepen vanuit Azure Synapse Analytics of Analytics Platform System (PDW), gebruik de naam sys.dm_pdw_nodes_tran_current_snapshot. Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
Syntaxis
sys.dm_tran_current_snapshot
Tabel geretourneerd
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| transaction_sequence_num | bigint | Transactiesequentienummer van de actieve transactie. |
| pdw_node_id | int |
van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW) De id voor het knooppunt waarop deze distributie zich bevindt. |
Permissions
Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .
Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Voorbeelden
Het volgende voorbeeld gebruikt een testscenario waarin vier gelijktijdige transacties, elk geïdentificeerd door een transactiesequentienummer (XSN), draaien in een database met de ALLOW_SNAPSHOT_ISOLATION en READ_COMMITTED_SNAPSHOT opties op ON. De volgende transacties draaien:
XSN-57 is een update-operatie onder serialiseerbare isolatie.
XSN-58 is hetzelfde als XSN-57.
XSN-59 is een select-operatie onder snapshot-isolatie.
XSN-60 is hetzelfde als XSN-59.
De volgende query wordt uitgevoerd binnen de scope van XSN-59.
SELECT
transaction_sequence_num
FROM sys.dm_tran_current_snapshot;
Hier is het resultatenoverzicht.
transaction_sequence_num
------------------------
57
58
De resultaten tonen aan dat XSN-57 en XSN-58 actief waren op het moment dat de snapshottransactie XSN-59 begon. Ditzelfde resultaat blijft bestaan, zelfs nadat XSN-57 en XSN-58 zijn commit of teruggerold, totdat de snapshottransactie is afgerond.
Dezelfde query wordt uitgevoerd binnen de scope van XSN-60.
Hier is het resultatenoverzicht.
transaction_sequence_num
------------------------
57
58
59
De output voor XSN-60 bevat dezelfde transacties als voor XSN-59, maar omvat ook XSN-59, dat actief was toen XSN-60 begon.
Zie ook
dynamische beheerweergaven en -functies (Transact-SQL)
Transactiegerelateerde dynamische beheerweergaven en -functies (Transact-SQL)