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 растет, см. статью "Устранение неполадок ускоренного восстановления базы данных".