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


sys.dm_tran_top_version_generators (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

Virtuális táblát ad vissza azoknak az objektumoknak, amelyek a legtöbb verziót generálják a verzióboltban. sys.dm_tran_top_version_generators adja vissza a 256 legösszetettebb lemezhosszt, amelyeket database_id és rowset_id csoportosít. sys.dm_tran_top_version_generators adatokat a dm_tran_version_store virtuális táblán keresztül kér le. sys.dm_tran_top_version_generators futtatása nem hatékony nézet, mert ez a nézet lekérdezést hajt végre a verzióraktárban, és a verziótároló nagyon nagy lehet. Javasoljuk, hogy ezt a funkciót használd a verzióbolt legnagyobb vásárlóinak megtalálásához.

Megjegyzés:

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

Szemantika

  
sys.dm_tran_top_version_generators  

Visszaadott tábla

Oszlop név Adattípus Description
database_id int Adatbázis-azonosító.

Az Azure SQL Database-ben az értékek egyediek egyetlen adatbázisban vagy rugalmas készletben, de nem logikai kiszolgálón belül.
rowset_id bigint Sorsorazonosító.
aggregated_record_length_in_bytes int A lemezhosszak összege minden database_id és rowset_id párra a verzió áruházban.
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.

Megjegyzések

Mivel sys.dm_tran_top_version_generators sok oldalt kell olvasnia, miközben az egész verzióraktárt átvizsgálja, a sys.dm_tran_top_version_generators futtatása zavarhatja a rendszer teljesítményét.

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ést hajtják végre.

SELECT  
    database_id,  
    rowset_id,  
    aggregated_record_length_in_bytes  
  FROM sys.dm_tran_top_version_generators;  

Itt van az eredmények összessége.

database_id rowset_id            aggregated_record_length_in_bytes  
----------- -------------------- ---------------------------------  
9           72057594038321152    87  
9           72057594038386688    33  

A kimenet azt mutatja, hogy minden verziót létrehoz, database_id``9 és hogy a verziók két táblából generálódnak.

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)