sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure
Restituisce lo stato corrente delle transazioni di cui è stato eseguito il commit 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. Nell'ambito del ciclo di Garbage Collection, le transazioni di cui è stato eseguito il commit vengono spostate in una o più code associate alle generazioni. Le transazioni che hanno generato versioni non aggiornate vengono raggruppate in un'unità di 16 transazioni tra 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 altre informazioni, vedere OLTP in memoria (ottimizzazione per la memoria).
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 transazione attivo meno recente viene aggiornato nell'incremento di 16. Ad esempio, se si dispone di ID transazione come 124, 125, 126 ... 139, il valore è 124. Quando si aggiunge un'altra transazione, ad esempio 140, il valore è 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 database.
Autorizzazioni per SQL Server 2022 e versioni successive
È richiesta l'autorizzazione VIEW DATABASE PERFORMANCE STATE per il database.
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
Contenuto correlato
- Introduzione alle tabelle con ottimizzazione per la memoria
- Viste a gestione dinamica delle tabelle ottimizzate per la memoria
- Panoramica e scenari di utilizzo OLTP in memoria
- Ottimizzare le prestazioni usando tecnologie in memoria in database SQL di Azure
- Ottimizzare le prestazioni usando tecnologie in memoria in Istanza gestita di SQL di Azure