Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
Geeft een virtuele tabel terug voor de objecten die de meeste versies produceren in de versieopslag. sys.dm_tran_top_version_generators geeft de top 256 geaggregeerde recordlengtes terug, gegroepeerd op basis van de database_id en rowset_id. sys.dm_tran_top_version_generators haalt gegevens op door de dm_tran_version_store virtuele tabel te bevragen. sys.dm_tran_top_version_generators is een inefficiënte weergave om uit te voeren omdat deze weergave de versieopslag opvraagt, en de versieopslag kan erg groot zijn. We raden aan deze functie te gebruiken om de grootste klanten van de versiewinkel te vinden.
Opmerking
Om dit aan te roepen vanuit Azure Synapse Analytics of Analytics Platform System (PDW), gebruik de naam sys.dm_pdw_nodes_tran_top_version_generators. Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
Syntaxis
sys.dm_tran_top_version_generators
Tabel geretourneerd
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| database_id | int | Database-ID. In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server. |
| rowset_id | bigint | Rijset-ID. |
| aggregated_record_length_in_bytes | int | Som van de recordlengtes voor elke database_id en rowset_id paar in de versiewinkel. |
| pdw_node_id | int |
van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW) De id voor het knooppunt waarop deze distributie zich bevindt. |
Permissions
Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .
Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Opmerkingen
Omdat sys.dm_tran_top_version_generators misschien veel pagina's moet lezen terwijl het de hele versiewinkel scant, kan het uitvoeren van sys.dm_tran_top_version_generators de systeemprestaties verstoren.
Voorbeelden
Het volgende voorbeeld gebruikt een testscenario waarin vier gelijktijdige transacties, elk geïdentificeerd door een transactiesequentienummer (XSN), draaien in een database met de ALLOW_SNAPSHOT_ISOLATION en READ_COMMITTED_SNAPSHOT opties op ON. De volgende transacties draaien:
XSN-57 is een update-operatie onder serialiseerbare isolatie.
XSN-58 is hetzelfde als XSN-57.
XSN-59 is een select-operatie onder snapshot-isolatie.
XSN-60 is hetzelfde als XSN-59.
De volgende query wordt uitgevoerd.
SELECT
database_id,
rowset_id,
aggregated_record_length_in_bytes
FROM sys.dm_tran_top_version_generators;
Hier is het resultatenoverzicht.
database_id rowset_id aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9 72057594038321152 87
9 72057594038386688 33
De output toont aan dat alle versies worden gemaakt door database_id``9 en dat de versies genereren uit twee tabellen.
Zie ook
Dynamische Beheerweergaven en -functies (Transact-SQL)
dynamische beheerweergaven en -functies met betrekking tot transacties (Transact-SQL)