sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)
Se aplica a: SQL ServerAzure SQL Database Azure SQL Instancia administrada
Genera el estado actual de las transacciones confirmadas que eliminaron una o varias filas. El subproceso principal de recolección de elementos no utilizados se reactiva cada minuto o cuando el número de transacciones DML confirmadas supera un umbral interno desde el último ciclo de recolección de elementos no utilizados. Como parte del ciclo de recolección de elementos no utilizados, las transacciones confirmadas se mueven a una o varias colas asociadas a generaciones. Las transacciones que generaron versiones obsoletas se agrupan en una unidad de 16 transacciones en 16 generaciones de la siguiente manera:
Generación 0: almacena todas las transacciones que se confirmaron antes que la transacción activa más antigua. Las versiones de fila generadas por estas transacciones están disponibles inmediatamente para la recolección de elementos no utilizados.
Generaciones 1 a 14: almacena las transacciones cuya marca de tiempo es mayor que la transacción activa más antigua. No se pueden recolectar las versiones de fila no utilizadas. Cada generación puede contener hasta 16 transacciones. En estas generaciones pueden existir un total de 224 (14 * 16) transacciones.
Generación 15: las transacciones restantes cuya marca de tiempo es mayor que la transacción activa más antigua van a la generación 15. Al igual que ocurre con la generación 0, no hay ningún límite en cuanto al número de transacciones de la generación 15.
Cuando hay presión de memoria, el subproceso de recolección de elementos no utilizados actualiza la sugerencia de la transacción activa más antigua de forma absoluta, lo que fuerza la recolección de elementos no utilizados.
Para obtener más información, vea OLTP en memoria (optimización en memoria).
Nombre de la columna | Tipo | Descripción |
---|---|---|
cycle_id |
bigint | Identificador único del ciclo de recolección de elementos no utilizados. |
ticks_at_cycle_start |
bigint | Tics en el momento en el que se inició el ciclo. |
ticks_at_cycle_end |
bigint | Tics en el momento en el que finalizó el ciclo. |
base_generation |
bigint | El valor de generación base actual de la base de datos. Representa la marca de tiempo de la transacción activa más antigua usada para identificar transacciones para la recolección de elementos no utilizados. El identificador de transacción activo más antiguo se actualiza en el incremento de 16. Por ejemplo, si tiene identificadores de transacción como 124, 125, 126 ... 139, el valor es 124. Al agregar otra transacción, por ejemplo 140, el valor es 140. |
xacts_copied_to_local |
bigint | El número de transacciones copiadas de la canalización de transacciones en la matriz de generación de la base de datos. |
xacts_in_gen_0 - xacts_in_gen_15 |
bigint | Número de transacciones de cada generación. |
Permisos
Requiere el permiso VIEW DATABASE STATE en la base de datos.
Permisos para SQL Server 2022 y versiones posteriores
Requiere el permiso VIEW DATABASE PERFORMANCE STATE en la base de datos.
Escenario de uso
A continuación se muestra un resultado de ejemplo con un subconjunto de columnas, donde se muestran 27 generaciones:
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
Contenido relacionado
- Introducción a las tablas con optimización para memoria
- Vistas de administración dinámica de tablas optimizadas para memoria
- Información general y escenarios de uso de OLTP en memoria
- Optimización del rendimiento mediante tecnologías en memoria en Azure SQL Database
- Optimización del rendimiento mediante tecnologías en memoria en Azure SQL Instancia administrada