Megosztás a következőn keresztül:


sys.dm_tran_current_snapshot (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Egy virtuális táblát ad vissza, amely megjeleníti az összes aktív tranzakciót abban az időpontban, amikor a jelenlegi snapshot tranzakció elkezdődik. Ha a jelenlegi tranzakció nem snapshot tranzakció, ez a függvény nem ad sorokat. sys.dm_tran_current_snapshot hasonló a sys.dm_tran_transactions_snapshot-hez, kivéve, hogy sys.dm_tran_current_snapshot csak a jelenlegi snapshot tranzakcióhoz tartozó aktív tranzakciókat adja vissza.

Megjegyzés:

Az Azure Synapse Analytics vagy Analytics Platform System (PDW) néven használjuk a sys.dm_pdw_nodes_tran_current_snapshot nevet. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

Szemantika

  
sys.dm_tran_current_snapshot  

Visszaadott tábla

Oszlop név Adattípus Description
transaction_sequence_num bigint Az aktív tranzakció tranzakció sorszáma.
pdw_node_id int A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW)

Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található.

Permissions

Az SQL Serveren és a felügyelt SQL-példányon VIEW SERVER STATE engedély szükséges.

Az SQL Database Alapszintű, S0és S1 szolgáltatás célkitűzésein, valamint rugalmas készletekbenlévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.

Engedélyek az SQL Server 2022-hez és újabb verziókhoz

A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.

Példák

A következő példa egy teszthelyzetet használ, amelyben négy egyidejű tranzakció, mindegyiket egy tranzakciósorozat számmal (XSN) azonosítva, egy olyan adatbázisban fut, amelynek ALLOW_SNAPSHOT_ISOLATION és READ_COMMITTED_SNAPSHOT opciói ON-ra vannak állítva. A következő tranzakciók zajlanak:

  • Az XSN-57 egy frissítő művelet, amely sorozatos izolációval rendelkezik.

  • Az XSN-58 ugyanaz, mint az XSN-57.

  • Az XSN-59 egy kiválasztott művelet snapshot izoláció alatt.

  • Az XSN-60 ugyanaz, mint az XSN-59.

A következő lekérdezés az XSN-59 hatókörén belül történik.

SELECT   
    transaction_sequence_num  
  FROM sys.dm_tran_current_snapshot;  

Itt van az eredmények összessége.

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

Az eredmények azt mutatják, hogy az XSN-57 és az XSN-58 aktív volt az XSN-59 pillanatkép-tranzakció kezdetekor. Ugyanez az eredmény akkor is fennmarad, ha az XSN-57 és az XSN-58 elkötelezett vagy visszafordította, amíg a snapshot tranzakció be nem fejeződik.

Ugyanezt a lekérdezést az XSN-60 keretein belül hajtják végre.

Itt van az eredmények összessége.

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

Az XSN-60 kimenete ugyanazokat a tranzakciókat tartalmazza, mint az XSN-59-nél megjelennek, de az XSN-59-et is, amely aktív volt, amikor az XSN-60 indult.

Lásd még:

dinamikus felügyeleti nézetek és függvények (Transact-SQL)
Tranzakcióval kapcsolatos dinamikus felügyeleti nézetek és függvények (Transact-SQL)