Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Returnerar en virtuell tabell för de objekt som producerar flest versioner i versionslagret. sys.dm_tran_top_version_generators returnerar de 256 översta samlade rekordlängderna som är grupperade efter database_id och rowset_id. sys.dm_tran_top_version_generators hämtar data genom att fråga den dm_tran_version_store virtuella tabellen. sys.dm_tran_top_version_generators är en ineffektiv vy att köra eftersom denna vy frågar versionslagret, och versionslagret kan vara mycket stort. Vi rekommenderar att du använder denna funktion för att hitta de största konsumenterna i versionsbutiken.
Anmärkning
För att kalla detta från Azure Synapse Analytics eller Analytics Platform System (PDW), använd namnet sys.dm_pdw_nodes_tran_top_version_generators. Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
Syntax
sys.dm_tran_top_version_generators
Tabell returnerad
| Kolumnnamn | Datatyp | Description |
|---|---|---|
| database_id | int | Databas-ID. I Azure SQL Database är värdena unika i en enskild databas eller en elastisk pool, men inte inom en logisk server. |
| rowset_id | bigint | Radset-ID. |
| aggregated_record_length_in_bytes | int | Summan av skivlängderna för varje database_id och rowset_id par i versionsbutiken. |
| pdw_node_id | int |
gäller för: Azure Synapse Analytics, Analytics Platform System (PDW) Identifieraren för noden som den här fördelningen är på. |
Permissions
På SQL Server och SQL Managed Instance kräver VIEW SERVER STATE behörighet.
I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE STATE behörighet för databasen eller medlemskap i ##MS_ServerStateReader## serverrollen.
Behörigheter för SQL Server 2022 och senare
Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.
Anmärkningar
Eftersom sys.dm_tran_top_version_generators kan behöva läsa många sidor när den skannar hela versionslagret kan sys.dm_tran_top_version_generators köra kan störa systemets prestanda.
Examples
Följande exempel använder ett testscenario där fyra samtidiga transaktioner, var och en identifierad med ett transaktionssekvensnummer (XSN), körs i en databas där ALLOW_SNAPSHOT_ISOLATION och READ_COMMITTED_SNAPSHOT alternativen är inställda på ON. Följande transaktioner körs:
XSN-57 är en uppdateringsoperation under serialiserbar isolering.
XSN-58 är samma som XSN-57.
XSN-59 är en select-operation under snapshot-isolering.
XSN-60 är samma som XSN-59.
Följande fråga exekveras.
SELECT
database_id,
rowset_id,
aggregated_record_length_in_bytes
FROM sys.dm_tran_top_version_generators;
Här är resultatet.
database_id rowset_id aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9 72057594038321152 87
9 72057594038386688 33
Utdata visar att alla versioner skapas av database_id``9 och att versionerna genereras från två tabeller.
Se även
Dynamiska hanteringsvyer och funktioner (Transact-SQL)
transaktionsrelaterade dynamiska hanteringsvyer och funktioner (Transact-SQL)