sys.dm_tran_top_version_generators (Transact-SQL)
Restituisce una tabella virtuale per gli oggetti che producono la maggior parte delle versioni dell'archivio delle versioni. sys.dm_tran_top_version_generators restituisce le 256 lunghezze superiori dei record di aggregazione raggruppati per database_id e rowset_id. sys.dm_tran_top_version_generators recupera dati eseguendo una query sulla tabella virtuale dm_tran_version_store. sys.dm_tran_top_version_generators è una vista inefficienteda eseguire perché questa vista esegue una query sull'archivio delle versioni e l'archivio delle versioni può essere molto grande. È consigliabile utilizzare questa funzione per trovare i maggiori consumer dell'archivio delle versioni.
Sintassi
sys.dm_tran_top_version_generators
Tabella restituita
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
database_id |
int |
ID del database. |
rowset_id |
bigint |
ID del set di righe. |
aggregated_record_length_in_bytes |
int |
Somma delle lunghezze dei record per ogni coppia di database_id e rowset_id nell'archivio delle versioni. |
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE nel server.
Osservazioni
Poiché sys.dm_tran_top_version_generators potrebbe prevedere la lettura di numerose pagine durante la scansione dell'intero archivio delle versioni, l'esecuzione di sys.dm_tran_top_version_generators può interferire con le prestazioni del sistema.
Esempi
Nell'esempio seguente viene utilizzato uno scenario di test in cui quattro transazioni simultanee, ognuna identificata da un numero di sequenza della transazione (XSN), vengono eseguite in un database con le opzioni ALLOW_SNAPSHOT_ISOLATION e READ_COMMITTED_SNAPSHOT impostate su ON. Vengono eseguite le transazioni seguenti:
XSN-57 è un'operazione di aggiornamento con isolamento serializzabile.
XSN-58 è uguale a XSN-57.
XSN-59 è un'operazione di selezione con isolamento dello snapshot.
XSN-60 è uguale a XSN-59.
Viene eseguita la query seguente.
SELECT
database_id,
rowset_id,
aggregated_record_length_in_bytes
FROM sys.dm_tran_top_version_generators;
Set di risultati:
database_id rowset_id aggregated_record_length_in_bytes
----------- -------------------- ---------------------------------
9 72057594038321152 87
9 72057594038386688 33
L'output indica che tutte le versioni vengono create con database_id9 e che le versioni vengono generate da due tabelle.