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


Конфигурация сервера: время ожидания повторных попыток ADR (мин)

Область применения:SQL Server

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

Иногда более чистый может столкнуться с проблемами при получении объектов или уровне секций IX блокировки из-за конфликтов блокировки с рабочими нагрузками пользователей во время его очистки. Программа очистки отслеживает такие страницы в отдельном списке. ADR cleaner retry timeout (min) управляет количеством времени, которое средство очистки тратит исключительно на повторные попытки захвата IX и очистку страниц, прежде чем отказаться от обработки. Завершение очистки с 100% успешность является важной для сохранения роста прерванных транзакций в карте прерванных транзакций. Если страницы в отдельном списке нельзя очистить в течение указанного времени ожидания, то текущий проход прерывается, и очистка выполняется во время следующего прохода.

Версия Default value
SQL Server 2019 (15.x) 120
SQL Server 2022 (16.x) и более поздних версий 15

Замечания

Очиститель в SQL Server 2019 (15.x) работает в однопоточном режиме. В SQL Server 2022 (16.x) очистка по умолчанию является однопоточной, но ее можно сделать многопоточной, настроив конфигурацию сервера ADR Cleaner Thread Count.

Если средство очистки является однопоточным, оно может работать только в одной базе данных за раз. Если экземпляр имеет несколько баз данных с включенным параметром ADR, не увеличивайте время ожидания до большого значения. Это может отложить очистку одной базы данных во время повтора в другой базе данных.

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

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

Примеры

В следующем примере значение времени ожидания повторной попытки устанавливается по умолчанию.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO

Примеры

В следующем примере время повторной попытки очистки устанавливается в значение по умолчанию.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO