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


Конфигурация сервера: коэффициент предварительного размещения ADR

Относится к: SQL Server 2019 (15.x) и более поздние версии Azure SQL Managed Instance

Начиная с SQL Server 2019 (15.x) и в Управляемом экземпляре SQL Azure этот параметр конфигурации используется при ускоренном восстановлении базы данных.

Ускоренное восстановление базы данных (ADR) использует версии строк для управления транзакциями и для целей восстановления базы данных. Эти версии создаются в рамках различных операций языка обработки данных (DML). Версии хранятся либо в строке, либо вне строки во внутренней таблице, называемой хранилищем постоянных версий (PVS).

Замечания

Производительность может снизиться, если страницы выделены для постоянного хранилища версий (PVS) в рамках операций DML пользователя переднего плана. Фоновый поток предварительно выделяет страницы и обеспечивает их доступность для вставки в PVS. Производительность является оптимальной, когда фоновый поток предварительно выделяет достаточно страниц так, что процент выделений PVS в переднем плане приближается к нулю.

Количество страниц, предварительно выделенных фоновым потоком, основано на различных эвристиках рабочей нагрузки. Как правило, фоновый поток выделяет блоки из 512 страниц. Коэффициент предварительного выделения ADR является кратным фрагменту. По умолчанию коэффициент 4, что означает, что 2048 страниц предварительно выделяются одновременно, если это необходимо.

Хотя в фоновом потоке учитываются шаблоны рабочей нагрузки, этот фактор может быть при необходимости увеличен для повышения производительности. Расширенное tx_version_optimized_insert_stats событие периодически возникает при возникновении выделения пространства в PVS и предоставляет статистику выделения пространства. Если значение в foreground_allocation_percent поле значительно выше нуля, рассмотрите возможность увеличения ADR Preallocation Factor параметра.

Предупреждение

Если коэффициент предварительного размещения PVS увеличивается слишком сильно, он может конфликтовать с другими выделениями в системе и даже снизить общую производительность. Перед изменением этого параметра получите базовые показатели производительности системы для отслеживания и сравнения.

Известная проблема

Для SQL Server 2019 (15.x) CU 12 и предыдущих версий это значение может быть задано 0. Рекомендуется сбросить значение 4в значение , которое является разработанным по умолчанию, используя пример в этой статье.

Примеры

В следующем примере определяется 4коэффициент предварительного размещения.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO