Sdílet prostřednictvím


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.

Poznámka:

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.

Syntaxe

  
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 službě SQL Managed Instance vyžaduje VIEW SERVER STATE oprávnění.

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

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

Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU 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.

Viz také

zobrazení a funkce dynamické správy (Transact-SQL)
Zobrazení a funkce dynamické správy související s transakcemi (Transact-SQL)