sys.dm_tran_top_version_generators (Transact-SQL)
Viene restituita una tabella virtuale per gli oggetti mediante i quali viene prodotta la maggior parte delle versioni dell'archivio delle versioni. Tramite sys.dm_tran_top_version_generators vengono restituite le prime 256 lunghezze dei record di aggregazione raggruppate per database_id e rowset_id. Tramite sys.dm_tran_top_version_generators vengono recuperati i dati eseguendo una query sulla tabella virtuale dm_tran_version_store. Non è consigliabile eseguire la vista sys.dm_tran_top_version_generators poiché tramite essa viene eseguita una query sull'archivio delle versioni le cui dimensioni possono essere molto grandi. È 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 l'analisi 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_id 9 e che le versioni vengono generate da due tabelle.
Vedere anche
Riferimento
Funzioni e viste a gestione dinamica (Transact-SQL)
Funzioni e viste a gestione dinamica relative alle transazioni (Transact-SQL)