sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Génère l’état actuel des transactions validées qui ont supprimé une ou plusieurs lignes. Le thread garbage collection inactif s'exécute toutes les minutes, ou lorsque le nombre de transactions DML validées dépasse un seuil interne depuis le dernier cycle de garbage collection. Dans le cadre du cycle de garbage collection, les transactions validées se déplacent dans une ou plusieurs files d’attente associées à des générations. Les transactions qui ont généré des versions obsolètes sont regroupées dans une unité de 16 transactions sur 16 générations comme suit :
Génération 0 : stocke toutes les transactions validées avant la transaction active la plus ancienne. Les versions de ligne générées par ces transactions sont immédiatement disponibles pour le garbage collection.
Générations 1-14 : stockent toutes les transactions avec un horodateur supérieur à la transaction active la plus ancienne. Les versions de ligne ne peuvent pas être récupérées par le garbage collector. Chaque génération peut contenir jusqu'à 16 transactions. 224 (14 * 16) transactions au total peuvent exister dans ces générations.
Générations 15 : les transactions restantes avec un horodateur supérieur à la transaction active la plus ancienne vont dans la génération 15. Similairement à la génération 0, il n'y a pas de limite au nombre de transactions dans la génération 15.
En cas de sollicitation de la mémoire, le thread de garbage collection force la mise à jour de l'indicateur de la transaction active la plus ancienne, ce qui force le garbage collection.
Pour plus d’informations, consultez OLTP en mémoire (optimisation en mémoire).
Nom de la colonne | Type | Description |
---|---|---|
cycle_id |
bigint | Identificateur unique pour le cycle de garbage collection. |
ticks_at_cycle_start |
bigint | Graduations au démarrage du cycle. |
ticks_at_cycle_end |
bigint | Graduations à la fin du cycle. |
base_generation |
bigint | Valeur de génération de base actuelle dans la base de données. Cela représente l'horodateur de la transaction active la plus ancienne utilisé pour identifier les transactions pour le garbage collection. L’ID de transaction actif le plus ancien est mis à jour par incrément de 16. Par exemple, si vous avez des ID de transaction comme 124, 125, 126 ... 139, la valeur est 124. Lorsque vous ajoutez une autre transaction, par exemple 140, la valeur est 140. |
xacts_copied_to_local |
bigint | Nombre de transactions copiées du pipeline de transactions dans le tableau de génération de la base de données. |
xacts_in_gen_0 - xacts_in_gen_15 |
bigint | Nombre de transactions dans chaque génération. |
autorisations
Requiert l'autorisation VIEW DATABASE STATE sur la base de données.
Autorisations pour SQL Server 2022 (et versions plus récentes)
Requiert l'autorisation VIEW DATABASE PERFORMANCE STATE sur la base de données.
Scénario d'utilisation
Voici un exemple de résultat avec un sous-ensemble de colonnes, montrant 27 générations :
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
Contenu connexe
- Introduction aux tables optimisées en mémoire
- Vues de gestion dynamique de table optimisées en mémoire
- Vue d’ensemble et scénarios d’utilisation OLTP en mémoire
- Optimiser les performances à l’aide de technologies en mémoire dans Azure SQL Database
- Optimiser les performances à l’aide de technologies en mémoire dans Azure SQL Managed Instance