Condividi tramite


sys.dm_tran_top_version_generators

Data aggiornamento: 5 dicembre 2005

Restituisce una tabella virtuale per gli oggetti che generano il maggior numero di versioni nell'archivio delle versioni. sys.dm_tran_top_version_generators restituisce i valori di lunghezza dei primi 256 record aggregati raggruppati in base a database_id e rowset_id. I dati vengono recuperati da sys.dm_tran_top_version_generators mediante query sulla tabella virtuale dm_tran_version_store. L'esecuzione di sys.dm_tran_top_version_generators non è efficiente poiché determina l'esecuzione di query sull'archivio delle versioni, che può presentare dimensioni estremamente elevate. È 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.

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.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

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
Funzioni e viste a gestione dinamica relative alle transazioni

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione

Cronologia

5 dicembre 2005

Termine

Definizione

Nuovo contenutoAggiunta di un esempio.