Поделиться через


sys.dm_db_xtp_checkpoint_stats (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Возвращает статистику об операциях контрольной точки OLTP в памяти в текущей базе данных. Если база данных не имеет объектов OLTP в памяти, sys.dm_db_xtp_checkpoint_stats возвращает пустой результирующий набор.

Дополнительные сведения см. в разделе In-Memory OLTP (оптимизация в памяти).

USE [In_Memory_db_name]
SELECT * FROM sys.dm_db_xtp_checkpoint_stats;

SQL Server 2014 (12.x) существенно отличается от более поздних версий и обсуждается отдельно.

В следующей таблице описываются столбцы в sys.dm_db_xtp_checkpoint_statssql Server 2016 (13.x) и более поздних версиях.

Имя столбца Тип Описание
last_lsn_processed bigint Последний LSN, который видел контроллер.
end_of_log_lsn numeric(38) LSN конца журнала.
bytes_to_end_of_log bigint Журнал байтов, необработанных контроллером, соответствующим байтам между last_lsn_processed и end_of_log_lsn.
log_consumption_rate bigint Скорость потребления журнала транзакций контроллером (в КБ/с).
active_scan_time_in_ms bigint Время, затраченное контроллером на активное сканирование журнала транзакций.
total_wait_time_in_ms bigint Совокупное время ожидания контроллера, не сканируя журнал.
waits_for_io bigint Количество ожиданий операций ввода-вывода журнала, вызванных потоком контроллера.
io_wait_time_in_ms bigint Совокупное время, затраченное на ожидание операций ввода-вывода журнала потоком контроллера.
waits_for_new_log_count bigint Количество ожиданий, вызванных потоком контроллера для создания нового журнала.
new_log_wait_time_in_ms bigint Совокупное время, затраченное на ожидание нового журнала потоком контроллера.
idle_attempts_count bigint Количество раз, когда контроллер переходит в состояние простоя.
tx_segments_dispatched bigint Количество сегментов, отображаемых контроллером и отправленных сериализаторам. Сегмент — это непрерывная часть журнала, которая формирует единицу сериализации. В настоящее время он имеет размер до 1 МБ, но может измениться в будущем.
segment_bytes_dispatched bigint Общее количество байтов, отправленных контроллером в сериализаторы, так как база данных перезапускается.
bytes_serialized bigint Общее количество байтов, сериализованных после перезапуска базы данных.
serializer_user_time_in_ms bigint Время, затраченное сериализаторами в пользовательском режиме.
serializer_kernel_time_in_ms bigint Время, затраченное сериализаторами в режиме ядра.
xtp_log_bytes_consumed bigint Общее количество байтов журнала, потребляемых после перезапуска базы данных.
checkpoints_closed bigint Количество контрольных точек, закрытых после перезапуска базы данных.
last_closed_checkpoint_ts bigint Метка времени последней закрытой контрольной точки.
hardened_recovery_lsn numeric(38) Восстановление начинается с этого LSN.
hardened_root_file_guid uniqueidentifier GUID корневого файла, который заклинился в результате последней завершенной контрольной точки.
hardened_root_file_watermark bigint Только внутренний. Указывает, насколько далеко это допустимо для чтения корневого файла до (это только внутренний соответствующий тип — называется BSN).
hardened_truncation_lsn numeric(38) LSN точки усечения.
log_bytes_since_last_close bigint Байты от последнего близко к текущему концу журнала.
time_since_last_close_in_ms bigint Время с последнего закрытия контрольной точки.
current_checkpoint_id bigint В настоящее время новые сегменты назначаются этой контрольной точке. Система контрольных точек — это конвейер. Текущая контрольная точка — это точка, к которой назначаются сегменты из журнала. Когда он достигнет предела, контроллер освобождает контрольную точку и новый, созданный как текущий.
current_checkpoint_segment_count bigint Количество сегментов в текущей контрольной точке.
recovery_lsn_candidate bigint Только внутренне. Кандидат, который будет выбран как recoverylsn при current_checkpoint_id закрытии.
outstanding_checkpoint_count bigint Количество контрольных точек в конвейере, ожидающих закрытия.
closing_checkpoint_id bigint Идентификатор закрывающей контрольной точки.

Сериализаторы работают параллельно, поэтому после их завершения контрольная точка является кандидатом на закрытие по закрытому потоку. Но закрывающий поток может закрывать только один раз, и он должен быть в порядке, поэтому закрывающая контрольная точка — это тот, над которым работает близкий поток.
recovery_checkpoint_id bigint Идентификатор контрольной точки, используемой в восстановлении.
recovery_checkpoint_ts bigint Метка времени контрольной точки восстановления.
bootstrap_recovery_lsn numeric(38) Восстановление LSN для начальной загрузки.
bootstrap_root_file_guid uniqueidentifier GUID корневого файла для начальной загрузки.
internal_error_code bigint Ошибка, обнаруженная любым контроллером, сериализатором, закрытием и слиянием потоков.
bytes_of_large_data_serialized bigint Указывает объем данных, сериализованных.
db_in_checkpoint_only_mode bit Значение true, если база данных находится в режиме только для контрольной точки OLTP в памяти.

Область применения: SQL Server 2022 (16.x) и более поздних версий.

Разрешения

ДЛЯ SQL Server 2019 (15.x) и более ранних версий требуется VIEW DATABASE STATE разрешение на базу данных.

ДЛЯ SQL Server 2022 (16.x) и более поздних версий требуется VIEW DATABASE PERFORMANCE STATE разрешение на базу данных.