sys.dm_tran_current_snapshot (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)databáze SQL v Microsoft Fabric

Vrací virtuální tabulku, která zobrazuje všechny aktivní transakce v okamžiku, kdy aktuální snapshot transakce začíná. Pokud aktuální transakce není snapshot transakcí, tato funkce nevrátí žádné řádky. sys.dm_tran_current_snapshot je podobný sys.dm_tran_transactions_snapshot, ale sys.dm_tran_current_snapshot vrací pouze aktivní transakce pro aktuální snapshot transakci.

Note

Pro volání z Azure Synapse Analytics nebo Analytics Platform System (PDW) použijte název sys.dm_pdw_nodes_tran_current_snapshot. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.

Syntax

  
sys.dm_tran_current_snapshot  

Vrácená tabulka

Název sloupce Datový typ Description
transaction_sequence_num bigint Pořadové číslo transakce aktivní transakce.
pdw_node_id int platí pro: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifikátor uzlu, na který je tato distribuce zapnutá.

Povolení

Na SQL Serveru a spravované instanci SQL vyžaduje VIEW SERVER STATE oprávnění.

U služby SQL Database Basic, S0a S1 a pro databáze v elastických fondech, účet správce serveru serveru, účet správce Microsoft Entra nebo členství v roli ##MS_ServerStateReader##serveru. U všech ostatních cílů služby SQL Database se vyžaduje buď oprávnění VIEW DATABASE STATE k databázi, nebo členství v roli serveru ##MS_ServerStateReader##.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje VIEW oprávnění SERVER PERFORMANCE STATE na serveru.

Examples

Následující příklad používá testovací scénář, ve kterém v databázi běží čtyři souběžné transakce, každá označená sekvenčním číslem transakce (XSN), která má nastavené možnosti ALLOW_SNAPSHOT_ISOLATION a READ_COMMITTED_SNAPSHOT na ON. Probíhají následující transakce:

  • XSN-57 je aktualizační operace v rámci serializovatelné izolace.

  • XSN-58 je stejný jako XSN-57.

  • XSN-59 je vybraná operace při izolaci snímků.

  • XSN-60 je stejný jako XSN-59.

Následující dotaz je vykonán v rámci XSN-59.

SELECT   
    transaction_sequence_num  
  FROM sys.dm_tran_current_snapshot;  

Tady je soubor výsledků.

transaction_sequence_num  
------------------------  
57  
58  

Výsledky ukazují, že XSN-57 a XSN-58 byly aktivní v době, kdy začala transakce snapshot XSN-59. Tento výsledek přetrvává i po commitu nebo rollbacku XSN-57 a XSN-58, dokud transakce snapshotu nedokončí.

Stejný dotaz je vykonáván v rozsahu XSN-60.

Tady je soubor výsledků.

transaction_sequence_num  
------------------------  
57  
58  
59  

Výstup pro XSN-60 zahrnuje stejné transakce, které se objevují u XSN-59, ale také XSN-59, který byl aktivní v době, kdy XSN-60 začal.