Condividi tramite


sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)

Restituisce lo stato corrente delle transazioni su cui è stato eseguito il commit e che hanno eliminato una o più righe. Il thread inattivo di Garbage Collection viene attivato ogni minuto o quando il numero delle transazioni DML su cui è stato eseguito il commit supera una soglia interna dopo l'ultimo ciclo di Garbage Collection. Come parte del ciclo di Garbage Collection, sposta le transazioni che sono state sottoposte al commit in una o più code associate alle generazioni. Le transazioni che hanno generato versioni non aggiornate vengono raggruppate in unità di 16 transazioni di 16 generazioni come indicato di seguito:

  • Generazione 0: archivia tutte le transazioni di cui è stato eseguito il commit prima della transazione attiva meno recente. Le versioni di riga generate da queste transazioni sono immediatamente disponibili per il Garbage Collection.

  • Generazione 1-14: archivia le transazioni con un timestamp maggiore della transazione attiva meno recente. Le versioni di riga non possono essere sottoposte a Garbage Collection. Ogni generazione può contenere fino a 16 transazioni. In queste generazioni possono essere presenti 224 (14 * 16) transazioni.

  • Generazione 15: le transazioni rimanenti con un timestamp maggiore della transazione attiva meno recente passano alla generazione 15. Analogamente alla generazione 0, non vi sono limiti di numero di transazioni nella generazione 15.

Quando sono presenti richieste di memoria, il thread di Garbage Collection aggiorna l'hint della transazione attiva meno recente in modo aggressivo forzando il Garbage Collection.

Per ulteriori informazioni, vedere OLTP in memoria (ottimizzazione per la memoria).

Si applica a: SQL Server (da SQL Server 2014 alla versione corrente).

Nome colonna

Tipo

Descrizione

cycle_id

bigint

Identificatore univoco del ciclo di Garbage Collection.

ticks_at_cycle_start

bigint

Tick all'avvio del ciclo.

ticks_at_cycle_end

bigint

Tick alla fine del ciclo.

base_generation

bigint

Il valore di generazione di base corrente nel database. Rappresenta il timestamp della transazione attiva meno recente utilizzato per identificare le transazioni per il Garbage Collection. L'ID della transazione attiva meno recente viene aggiornato in incrementi di 16. Ad esempio, se l'ID della transazione è 124, 125, 126 … 139, il valore sarà 124. Quando si aggiunge un'altra transazione, ad esempio 140, il valore sarà 140.

xacts_copied_to_local

bigint

Numero di transazioni copiate dalla pipeline di transazione nella matrice di generazione del database.

xacts_in_gen_0- xacts_in_gen_15

bigint

Numero di transazioni in ogni generazione.

Autorizzazioni

È richiesta l'autorizzazione VIEW DATABASE STATE per il server.

Scenario di utilizzo

Di seguito è riportato un output campione con un subset di colonne, che mostra 27 generazioni:

cycle_id   ticks_at_cycle_start ticks_at_cycle_end   base_generation  xacts_in_gen_0    xacts_in_gen_1

1          123160509            123160509            1                    0                    0
2          123176822            123176822            1                    0                    1
3          123236826            123236826            1                    0                    1
4          123296829            123296829            1                    0                    1
5          123356832            123356941            129                  0                    0
6          123357473            123357473            129                  0                    0
7          123417486            123417486            129                  0                    0
8          123477489            123477489            129                  0                    0
9          123537492            123537492            129                  0                    0
10         123597500            123597500            129                  0                    0
11         123657504            123657504            129                  0                    0
12         123717507            123717507            129                  0                    0
13         123777510            123777510            129                  0                    0
14         123837513            123837513            129                  0                    0
15         123897516            123897516            129                  0                    0
16         123957516            123957516            129                  0                    0
17         124017516            124017516            129                  0                    0
18         124077517            124077517            129                  0                    0
19         124137517            124137517            129                  0                    0
20         124197518            124197518            129                  0                    0
21         124257518            124257518            129                  0                    0
22         124317523            124317523            129                  0                    0
23         124377526            124377526            129                  0                    0
24         124437529            124437529            129                  0                    0
25         124497533            124497533            129                  0                    0
26         124557536            124557536            129                  0                    0
27         124617539            124617539            129                  0                    0

Vedere anche

Concetti

Viste a gestione dinamica correlate alle tabelle con ottimizzazione per la memoria (Transact-SQL)