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


sys.dm_tran_persistent_version_store_stats (Transact-SQL)

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

Возвращает информацию по метрике постоянного хранилища версий (ADR) ускоренного восстановления баз данных (PVS).

Таблица возвращенной информации

Имя столбца Тип данных Description
database_id INT database_id этой строки.

В База данных SQL Azure значения уникальны в одной базе данных или эластичном пуле, но не в логическом сервере.
pvs_filegroup_id smallint Файловая группа, в которой размещено хранилище версий PVS.
persistent_version_store_size_kb bigint Размер PVS в КБ. Это значение используется для определения текущего пространства, используемого PVS.
online_index_version_store_size_kb bigint Специальный размер хранилища версий в килобайтах, используемый во время перестроения индекса в сети.
current_aborted_transaction_count bigint Количество прерванных транзакций в базе данных. Сведения о прерванных транзакциях см. в sys.dm_tran_aborted_transactions.
oldest_active_transaction_id bigint Идентификатор самой старой активной транзакции.
oldest_aborted_transaction_id bigint Идентификатор самой старой прерванной транзакции. Если средство очистки PVS не может удалить прерванную транзакцию, это значение будет отражать самое старое значение.
min_transaction_timestamp bigint Минимальная полезная метка времени в системе из сканирований моментальных снимков.
online_index_min_transaction_timestamp bigint Минимальная полезная метка времени в системе для удержания очистки PVS. Это соответствует online_index_version_store_size_kb.
secondary_low_water_mark bigint Нижняя конечная точка, вычисленная для запросов вторичных реплик для чтения. Это идентификатор транзакции и его можно использовать для сравнения с oldest_active_transaction_id и oldest_aborted_transaction_id.
offrow_version_cleaner_start_time datetime2(7) Время начала процесса очистки PVS вне строки.
offrow_version_cleaner_end_time datetime2(7) Последнее время окончания процесса очистки PVS вне строки.
aborted_version_cleaner_start_time datetime2(7) Метка времени начала полной очистки.
aborted_version_cleaner_end_time datetime2(7) Метка времени окончания последней полной очистки. Если время начала имеет значение, а время окончания — нет, это означает, что очистка PVS в этой базе данных продолжается.
pvs_off_row_page_skipped_low_water_mark bigint Количество страниц, пропущенных для освобождения из-за задержки вторичных запросов на чтение.
pvs_off_row_page_skipped_transaction_not_cleaned bigint Количество страниц, пропущенных для освобождения из-за прерванных транзакций. Обратите внимание, что это значение не отражает удержание PVS от прерванных транзакций, поскольку средство очистки версий использует минимальное пороговое значение для очистки версий прерванных транзакций. Если проблема с PVS существенная, этот пункт можно проигнорировать.
pvs_off_row_page_skipped_oldest_active_xdesid bigint Количество страниц, пропущенных для освобождения из-за самой старой активной транзакции.
pvs_off_row_page_skipped_min_useful_xts bigint Количество страниц, пропущенных для освобождения из-за долгого сканирования моментального снимка.
pvs_off_row_page_skipped_oldest_snapshot bigint Количество страниц, пропущенных для освобождения из-за заданий по перестроению индекса в сети. Это нетипично для использования PVS.
pvs_off_row_page_skipped_oldest_aborted_xdesid bigint Область применения: SQL Server 2022 (16.x) и более поздних версий.
Количество страниц, пропущенных для освобождения из-за самых старых прерванных транзакций. Если средство очистки версий медленно работает или если оно недопустимо, этот пункт покажет количество страниц, которые необходимо хранить для прерванных транзакций.

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader## роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Замечания

Ознакомьтесь с рекомендациями по ускоренному восстановлению базы данных. Если ваш ADR PVS растет, см. статью "Устранение неполадок ускоренного восстановления базы данных".

См. также