Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
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.
Note
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.
Para obtener más información, consulte Creación y administración del almacenamiento para objetos optimizados para memoria.
| 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. |
| state | smallint | 0 - PRECREADO 1 - EN CONSTRUCCIÓN 2 - ACTIVO 3 - MERGE OBJETIVO 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 objetivo de las operaciones de fusión: estos archivos de puntos de control almacenan las filas de datos consolidadas de los archivos fuente identificados por la política de fusión. Una vez instalada la fusión, el MERGE TARGET pasa al estado ACTIVO. ESPERANDO TRUNCAMIENTO DE LOG - Una vez instalada la fusión y el MERGE CFP TARGET forma parte de un punto de control duradero, los archivos de punto de control fuente de la fusión 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. |
Permissions
Requiere permiso VIEW DATABASE STATE en la base de datos.
Permisos para SQL Server 2022 y versiones posteriores
Requiere VIEWDATABASE permiso de ESTADO DE RENDIMIENTO 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;
Contenido relacionado
- Introducción a las tablas de Memory-Optimized
- 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