Compartir a través de


sys.dm_db_xtp_checkpoint_files (Transact-SQL)

Se aplica a: SQL ServerAzure SQL Database Azure SQL Instancia administrada

Muestra información sobre los archivos de punto de control OLTP en memoria, incluido el tamaño del archivo, la ubicación física y el identificador de transacción.

Nota:

Para el punto de control actual que no se ha cerrado, la columna de estado de sys.dm_db_xtp_checkpoint_files será UNDER CONSTRUCTION para los nuevos archivos. Un punto de control se cierra automáticamente cuando hay suficiente crecimiento del registro de transacciones desde el último punto de control, o si emite el CHECKPOINT comando. Para más información, consulte CHECKPOINT (Transact-SQL).

Un grupo de archivos optimizados para memoria usa internamente archivos de solo anexión para almacenar filas insertadas y eliminadas para tablas en memoria. Hay dos tipos de archivos: Un archivo de datos contiene filas insertadas mientras que un archivo delta contiene referencias a filas eliminadas.

SQL Server 2014 (12.x) es sustancialmente diferente de las versiones más recientes y se describe en SQL Server 2014.

Para obtener más información, consulte Creación y administración del almacenamiento para objetos optimizados para memoria.

SQL Server 2016 (13.x) y posterior

En la tabla siguiente se describen las columnas de sys.dm_db_xtp_checkpoint_files, a partir de SQL Server 2016 (13.x).

Nombre de la columna Tipo Descripción
container_id int Identificador del contenedor (representado como un archivo con el tipo FILESTREAM en sys.database_files) del que forman parte los datos o el archivo delta. Se une con file_id en sys.database_files (Transact-SQL).
container_guid uniqueidentifier GUID del contenedor, del que forma parte la raíz, los datos o el archivo delta. Combina con file_guid en la sys.database_files tabla.
checkpoint_file_id uniqueidentifier GUID del archivo de punto de control.
relative_file_path nvarchar(256) Ruta de acceso del archivo en relación con el contenedor al que se asigna.
file_type smallint -1 gratis

0 para el archivo DATA.

1 para el archivo DELTA.

2 para el archivo ROOT

3 para el archivo LARGE DATA
file_type_desc nvarchar(60) FREE- Todos los archivos mantenidos como GRATIS están disponibles para la asignación. Los archivos gratuitos pueden variar de tamaño en función de las necesidades previstas por el sistema. El tamaño máximo es de 1 GB.

DATOS: los archivos de datos contienen filas que se han insertado en tablas optimizadas para memoria.

DELTA: los archivos delta contienen referencias a filas de archivos de datos que se han eliminado.

ROOT: los archivos raíz contienen metadatos del sistema para objetos optimizados para memoria y compilados de forma nativa.

DATOS GRANDES: los archivos de datos grandes contienen valores insertados en las columnas (n)varchar(max) y varbinary(max), así como los segmentos de columna que forman parte de los índices de almacén de columnas en tablas optimizadas para memoria.
internal_storage_slot int El índice del archivo en la matriz de almacenamiento interno. NULL para ROOT o para el estado distinto de 1.
checkpoint_pair_file_id uniqueidentifier Archivo DATA o DELTA correspondiente. NULL para ROOT.
file_size_in_bytes bigint Tamaño del archivo en el disco.
file_size_used_in_bytes bigint Para los pares de archivos de punto de comprobación que todavía se están llenando, esta columna se actualizará después del punto de comprobación siguiente.
logical_row_count bigint En Datos, número de filas insertadas.

En Delta, número de filas eliminadas después de contabilizar la tabla de eliminación.

En Raíz, NULL.
estado smallint 0 - PRECREADO

1 - EN CONSTRUCCIÓN

2 - ACTIVE

3 - MERGE TARGET

8 - ESPERANDO TRUNCAMIENTO DEL REGISTRO
state_desc nvarchar(60) PRECREATED: se asigna previamente un número de archivos de punto de control para minimizar o eliminar las esperas para asignar nuevos archivos a medida que se ejecutan las transacciones. Estos archivos pueden variar de tamaño y se crean en función de las necesidades estimadas de la carga de trabajo. No contienen datos. Se trata de una sobrecarga de almacenamiento en bases de datos con un grupo de archivos MEMORY_OPTIMIZED_DATA.

UNDER CONSTRUCTION: estos archivos de punto de control están en construcción, lo que significa que se rellenan en función de los registros generados por la base de datos y aún no forman parte de un punto de control.

ACTIVE: contienen las filas insertadas o eliminadas de los puntos de control cerrados anteriores. Contienen el contenido de las tablas que el área lee en memoria antes de aplicar la parte activa del registro de transacciones al reiniciar la base de datos. Esperamos que el tamaño de estos archivos de punto de control sea aproximadamente 2x del tamaño en memoria de las tablas optimizadas para memoria, suponiendo que la operación de combinación se mantenga al día con la carga de trabajo transaccional.

MERGE TARGET: el destino de las operaciones de combinación: estos archivos de punto de control almacenan las filas de datos consolidadas de los archivos de origen identificados por la directiva de combinación. Una vez instalada la mezcla, TARGET MERGE cambia al estado ACTIVE.

ESPERANDO TRUNCAMIENTO DE REGISTRO: una vez instalada la combinación y merge TARGET CFP forma parte de un punto de control duradero, los archivos de punto de comprobación de origen de mezcla pasan a este estado. Los archivos de este estado son necesarios para la corrección operativa de la base de datos con una tabla optimizada para memoria. Por ejemplo, para recuperarse de un punto de comprobación durable para ir a un momento anterior en el tiempo.
lower_bound_tsn bigint Límite inferior de la transacción en el archivo; NULL si el estado no está en (1, 3).
upper_bound_tsn bigint Límite superior de la transacción en el archivo; NULL si el estado no está en (1, 3).
begin_checkpoint_id bigint Id. del punto de control de inicio.
end_checkpoint_id bigint Id. del punto de control final.
last_updated_checkpoint_id bigint Identificador del último punto de control que actualizó este archivo.
encryption_status smallint 0, 1, 2
encryption_status_desc nvarchar(60) 0 => SIN CIFRAR

1 => CIFRADO CON CLAVE 1

2 => CIFRADO CON CLAVE 2. Válido solo para archivos activos.

SQL Server 2014 (12.x)

En la tabla siguiente se describen las columnas para sys.dm_db_xtp_checkpoint_files, para SQL Server 2014 (12.x).

Nombre de la columna Tipo Descripción
container_id int Identificador del contenedor (representado como un archivo con el tipo FILESTREAM en sys.database_files) del que forman parte los datos o el archivo delta. Se une con file_id en sys.database_files (Transact-SQL).
container_guid uniqueidentifier GUID del contenedor del que forma parte el archivo de datos o delta.
checkpoint_file_id GUID Identificador del archivo de datos o delta.
relative_file_path nvarchar(256) Ruta de acceso al archivo de datos o delta, con respecto a la ubicación del contenedor.
file_type tinyint 0 para el archivo de datos.

1 para el archivo delta.

NULL si la columna de estado está establecida en 7.
file_type_desc nvarchar(60) Tipo de archivo: DATA_FILE, DELTA_FILE o NULL si la columna de estado está establecida en 7.
internal_storage_slot int El índice del archivo en la matriz de almacenamiento interno. NULL si la columna de estado no es 2 o 3.
checkpoint_pair_file_id uniqueidentifier Archivo de datos o delta correspondiente.
file_size_in_bytes bigint Tamaño del archivo que se usa. NULL si la columna de estado está establecida en 5, 6 o 7.
file_size_used_in_bytes bigint Tamaño usado del archivo que se emplea. NULL si la columna de estado está establecida en 5, 6 o 7.

Para los pares de archivos de punto de comprobación que todavía se están llenando, esta columna se actualizará después del punto de comprobación siguiente.
inserted_row_count bigint Número de filas del archivo de datos.
deleted_row_count bigint Número de filas eliminadas del archivo delta.
drop_table_deleted_row_count bigint Número de filas de los archivos de datos afectados por una operación de quitar tabla. Se aplica a los archivos de datos cuando la columna state es igual a 1.

Muestra los números de filas eliminadas de las tablas quitadas. Las estadísticas drop_table_deleted_row_count se compilan una vez que se completa la recolección de elementos no utilizados de memoria de las filas de las tablas quitadas y cuando se toma un punto de comprobación. Si reinicia SQL Server antes de que las estadísticas de las tablas desplegables se reflejen en esta columna, las estadísticas se actualizarán como parte de la recuperación. El proceso de recuperación no carga filas de tablas quitadas. Las estadísticas de tablas quitadas se compilan durante la fase de carga y se muestran en esta columna cuando se completa la recuperación.
estado int 0 - PRECREADO

1 - EN CONSTRUCCIÓN

2 - ACTIVE

3 - MERGE TARGET

4 - ORIGEN COMBINADO

5 - NECESARIO PARA COPIA DE SEGURIDAD/ALTA DISPONIBILIDAD

6 - EN TRANSICIÓN A TOMBSTONE

7 - TOMBSTONE
state_desc nvarchar(60) PRECREATED: un pequeño conjunto de pares de archivos delta y de datos, también conocidos como pares de archivos de punto de control (CFP) se mantienen previamente asignados para minimizar o eliminar las esperas para asignar nuevos archivos a medida que se ejecutan las transacciones. Se crean con un tamaño de archivo de datos de 128 MB y un tamaño de archivo delta de 8 MB, pero no contienen datos. El número de CFP se calcula como el número de procesadores o programadores lógicos (uno por núcleo, sin valor máximo) con un mínimo de 8. Se trata de una sobrecarga de almacenamiento fija en bases de datos con tablas optimizadas para memoria.

UNDER CONSTRUCTION: conjunto de CFP que almacenan filas de datos recién insertadas y posiblemente eliminadas desde el último punto de control.

ACTIVE: contienen las filas insertadas y eliminadas de puntos de comprobación cerrados anteriores. Estos CFP contienen todas las filas insertadas y eliminadas necesarias antes de aplicar la parte activa del registro de transacciones en el reinicio de la base de datos. El tamaño de estos CFP será aproximadamente dos veces el tamaño en memoria de las tablas optimizadas para memoria, suponiendo que la operación de combinación esté actualizada con la carga de trabajo transaccional.

MERGE TARGET: el CFP almacena las filas de datos consolidadas de los CFP identificados por la directiva de mezcla. Una vez instalada la mezcla, TARGET MERGE cambia al estado ACTIVE.

ORIGEN COMBINADO: una vez instalada la operación de combinación, los CFP de origen se marcan como ORIGEN COMBINADO. Tenga en cuenta que el evaluador de directivas de mezcla podría identificar varias combinaciones, pero un CFP solo puede participar en una operación de combinación.

OBLIGATORIO PARA BACKUP/HA: una vez instalada la combinación y merge TARGET CFP forma parte de un punto de control duradero, los CFP de origen de mezcla pasan a este estado. Los CFP que están en este estado son necesarios para el correcto funcionamiento de la base de datos con tablas optimizadas para memoria. Por ejemplo, para recuperarse de un punto de comprobación durable para ir a un momento anterior en el tiempo. Un CFP se puede marcar para la recolección de elementos no utilizados una vez que el punto de truncamiento del registro sobrepasa los límites de su intervalo de transacción.

IN TRANSITION TO TOMBSTONE: estos CFP no son necesarios para el motor OLTP en memoria y pueden ser recolectores de elementos no utilizados. Este estado indica que estos CFP están esperando que el subproceso de fondo haga la transición al estado siguiente, que es TOMBSTONE.

TOMBSTONE: estos CFP están esperando ser recolectores de elementos no utilizados por el recolector de elementos no utilizados de la secuencia de archivos. (sp_filestream_force_garbage_collection (Transact-SQL))
lower_bound_tsn bigint El límite inferior de las transacciones contenidas en el archivo. NULL si la columna de estado es distinta de 2, 3 o 4.
upper_bound_tsn bigint El límite superior de las transacciones contenidas en el archivo. NULL si la columna de estado es distinta de 2, 3 o 4.
last_backup_page_count int Recuento de páginas lógicas que se determina en la última copia de seguridad. Se aplica cuando la columna state está establecida en 2, 3, 4 o 5. NULL si no se conoce el recuento de páginas.
delta_watermark_tsn int Transacción del último punto de comprobación que escribió en este archivo delta. Es el límite para el archivo delta.
last_checkpoint_recovery_lsn nvarchar(23) Número de secuencia de registro de recuperación del último punto de comprobación que todavía necesita el archivo.
tombstone_operation_lsn nvarchar(23) El archivo se eliminará una vez que tombstone_operation_lsn esté detrás del número de secuencia de registro del truncamiento del registro.
logical_deletion_log_block_id bigint Solo se aplica al estado 5.

Permisos

Debe tener el permiso VIEW DATABASE STATE para la base de datos.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VIEW DATABASE PERFORMANCE STATE en la base de datos.

Casos de uso:

Puede calcular el almacenamiento total utilizado por OLTP en memoria de la siguiente manera:

-- total storage used by In-Memory OLTP  
SELECT SUM (file_size_in_bytes)/(1024*1024) as file_size_in_MB  
FROM sys.dm_db_xtp_checkpoint_files;

Para ver un desglose del uso del almacenamiento por estado y tipo de archivo, ejecute la consulta siguiente:

SELECT state_desc  
 , file_type_desc  
 , COUNT(*) AS [count]  
 , SUM(file_size_in_bytes) / 1024 / 1024 AS [on-disk size MB]   
FROM sys.dm_db_xtp_checkpoint_files  
GROUP BY state, state_desc, file_type, file_type_desc  
ORDER BY state, file_type;