Sdílet prostřednictvím


sys.dm_tran_top_version_generators (Transact-SQL)

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

Vrátí virtuální tabulku pro objekty, které produkují nejvíce verzí ve skladu verzí. sys.dm_tran_top_version_generators vrací 256 největších souhrnných délek záznamů, které jsou seskupeny podle database_id a rowset_id. sys.dm_tran_top_version_generators získává data dotazováním dm_tran_version_store virtuální tabulky. sys.dm_tran_top_version_generators je neefektivní pohled, protože tento pohled dotazuje úložiště verzí, a úložiště verzí může být velmi velké. Doporučujeme použít tuto funkci k nalezení největších spotřebitelů verzního obchodu.

Poznámka:

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

Syntaxe

  
sys.dm_tran_top_version_generators  

Vrácená tabulka

Název sloupce Datový typ Description
database_id int ID databáze.

Ve službě Azure SQL Database jsou hodnoty jedinečné v rámci jedné databáze nebo elastického fondu, ale ne v rámci logického serveru.
rowset_id bigint Identifikace řádku.
aggregated_record_length_in_bytes int Součet délk záznamů pro každý database_id a rowset_id pár ve skladu verzí.
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.

Poznámky

Protože sys.dm_tran_top_version_generators možná bude muset číst mnoho stránek při skenování celého úložiště verzí, může spuštění sys.dm_tran_top_version_generators narušit výkon systému.

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.

SELECT  
    database_id,  
    rowset_id,  
    aggregated_record_length_in_bytes  
  FROM sys.dm_tran_top_version_generators;  

Tady je soubor výsledků.

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

Výstup ukazuje, že všechny verze jsou vytvořeny a database_id``9 že verze se generují ze dvou tabulek.

Viz také

zobrazení a funkce dynamické správy (Transact-SQL)
Transakčně orientovaná dynamická správa pohledů a funkcí (Transact-SQL)