Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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)