Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Отображает сведения о файлах контрольных точек OLTP в памяти, включая размер файла, физическое расположение и идентификатор транзакции.
Note
Для текущей контрольной точки, которая не закрыта, столбец sys.dm_db_xtp_checkpoint_files состояния будет иметь значение UNDER CONSTRUCTION для новых файлов. Контрольная точка закрывается автоматически при достаточном росте журнала транзакций с момента последнего контрольного пункта или при выполнении CHECKPOINT команды. Дополнительные сведения см. в разделе КОНТРОЛЬНАЯ ТОЧКА (Transact-SQL).
Оптимизированная для памяти группа файлов внутренне использует файлы, оптимизированные только для добавления, для хранения вставленных и удаленных строк для таблиц в памяти. Существует два типа файлов. Файл данных содержит вставленные строки, а разностный файл содержит ссылки на удаленные строки.
Дополнительные сведения см. в статье "Создание и управление хранилищем для оптимизированных для памяти объектов".
| Название столбца | Тип | Описание |
|---|---|---|
| container_id | int | Идентификатор контейнера (представленный в виде файла с типом FILESTREAM в sys.database_files) о том, что данные или разностные файлы являются частью. Присоединяется к file_id sys.database_files (Transact-SQL). |
| container_guid | uniqueidentifier | GUID контейнера, в который входит корневой файл, данные или разностный файл. Присоединяется к file_guidsys.database_files таблице. |
| checkpoint_file_id | uniqueidentifier | GUID файла контрольной точки. |
| relative_file_path | nvarchar(256) | Путь к файлу относительно контейнера, с которому он сопоставлен. |
| file_type | smallint | -1 бесплатно 0 для файла DATA. 1 для DELTA-файла. 2 для КОРНЕВОго файла 3 для БОЛЬШОГО ФАЙЛА ДАННЫХ |
| описание типа файла | nvarchar(60) | FREE- Все файлы, поддерживаемые как БЕСПЛАТНЫЕ, доступны для выделения. Бесплатные файлы могут различаться в зависимости от ожидаемых потребностей системы. Максимальный размер — 1 ГБ. DATA — файлы данных содержат строки, вставляемые в оптимизированные для памяти таблицы. DELTA - Разностные файлы содержат ссылки на строки в файлах данных, которые были удалены. ROOT — корневые файлы содержат системные метаданные для оптимизированных для памяти и скомпилированных в собственном коде объектов. LARGE DATA — большие файлы данных содержат значения, вставляемые в столбцы (n)varchar(max) и varbinary(max), а также сегменты столбцов, которые являются частью индексов columnstore в таблицах, оптимизированных для памяти. |
| internal_storage_slot | int | Индекс файла в массиве внутреннего хранилища.
NULL для root или для состояния, отличного от 1. |
| checkpoint_pair_file_id | uniqueidentifier | Соответствующий файл DATA или DELTA.
NULL для ROOT. |
| file_size_in_bytes | bigint | Размер файла на диске. |
| file_size_used_in_bytes | bigint | Для пар файлов контрольных точек, заполнение которых все еще выполняется, этот столбец будет обновляться после каждой следующей контрольной точки. |
| logical_row_count | bigint | Для данных число вставленных строк. Для Delta число строк, удаленных после учета раскрываемой таблицы. Для root, NULL. |
| state | smallint | 0 — ПРЕДВАРИТЕЛЬНО СОЗДАНО 1 - ПОД СТРОИТЕЛЬСТВОМ 2 — ACTIVE 3 - MERGE ЦЕЛЬ 8. ОЖИДАНИЕ УСЕЧЕНИЯ ЖУРНАЛА |
| описание состояния | nvarchar(60) | PRECREATED — несколько файлов контрольных точек предварительно выделены, чтобы свести к минимуму или исключить любые ожидания выделения новых файлов по мере выполнения транзакций. Эти файлы могут отличаться по размеру и создаются в зависимости от предполагаемых потребностей рабочей нагрузки. Они не содержат данных. Это затраты на хранение в базах данных с MEMORY_OPTIMIZED_DATA файловой группой. UNDER CONSTRUCTION . Эти файлы контрольных точек находятся в стадии создания, то есть заполняются на основе записей журнала, созданных базой данных, и еще не являются частью контрольной точки. ACTIVE — они содержат вставленные или удаленные строки из предыдущих закрытых контрольных точек. Они содержат содержимое таблиц, которые считываются в память перед применением активной части журнала транзакций при перезапуске базы данных. Мы ожидаем, что размер этих файлов контрольных точек составляет примерно 2x от размера оптимизированных для памяти таблиц, предполагая, что операция слияния выполняется в соответствии с транзакционной рабочей нагрузкой. MERGE TARGET — цель операций слияния — эти файлы контрольных точек хранят консолидированные строки данных из исходных файлов, которые были идентифицированы политикой слияния. После установки MERGE слияния TARGET переходит в состояние ACTIVE. ОЖИДАНИЕ УСЕЧЕНИЯ ЖУРНАЛА — После установки слияния и включения MERGE TARGET CFP в состав прочной контрольной точки, исходные файлы контрольной точки слияния переходят в это состояние. Файлы в этом состоянии необходимы для правильности работы базы данных с оптимизированной для памяти таблицей. Например, чтобы выполнить восстановление от устойчивой контрольной точки, чтобы вернуться назад во времени. |
| lower_bound_tsn | bigint | Нижняя граница транзакции в файле; NULL Значение , если состояние не в (1, 3). |
| upper_bound_tsn | bigint | Верхняя граница транзакции в файле; NULL Значение , если состояние не в (1, 3). |
| begin_checkpoint_id | bigint | Идентификатор начальной контрольной точки. |
| end_checkpoint_id | bigint | Идентификатор конечной контрольной точки. |
| last_updated_checkpoint_id | bigint | Идентификатор последней контрольной точки, которая обновила этот файл. |
| encryption_status | smallint | 0, 1, 2 |
| encryption_status_desc | nvarchar(60) | 0 => НЕ ЗАШИФРОВАНО 1 => ЗАШИФРОВАНО С ПОМОЩЬЮ КЛЮЧА 1 2 => ЗАШИФРОВАНО С КЛЮЧОМ 2. Допустимо только для активных файлов. |
Permissions
Необходимо разрешение VIEW DATABASE STATE на базу данных.
Разрешения для SQL Server 2022 и более поздних версий
Требуется VIEWDATABASE разрешение PERFORMANCE STATE в базе данных.
Варианты использования
Общее хранилище, используемое в памяти OLTP, можно оценить следующим образом:
-- 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;
Чтобы просмотреть разбивку использования хранилища по состоянию и типу файла, выполните следующий запрос:
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;
Связанные материалы
- Общие сведения о таблицах Memory-Optimized
- In-Memory системные представления OLTP (Transact-SQL)
- In-Memory Обзор OLTP и сценарии использования
- Оптимизируйте производительность с помощью технологий in-memory в Базе данных SQL Azure
- Оптимизация производительности с помощью технологий в памяти в Управляемый экземпляр SQL Azure