Partilhar via


Configuração do servidor: Tempo limite de repetição do limpador ADR (min)

Aplica-se a:SQL Server

A partir do SQL Server 2019 (15.x), essa definição de configuração é usada para de recuperação acelerada de banco de dados (ADR). O limpador é um processo assíncrono que é ativado periodicamente e limpa versões de página que não são necessárias.

Ocasionalmente, o limpador pode ter problemas ao adquirir bloqueios no nível do objeto devido a conflitos com cargas de trabalho do usuário durante sua varredura. O limpador rastreia essas páginas em uma lista separada. ADR cleaner retry timeout (min) controla a quantidade de tempo que o limpador gasta exclusivamente tentando a aquisição de bloqueios de objetos e a limpeza de páginas antes de abandonar a varredura. Completar a varredura com 100% de sucesso% é essencial para controlar o crescimento de transações abortadas no mapa de transações abortadas. Se as páginas na lista separada não puderem ser limpas no tempo limite prescrito, a varredura atual será abandonada e a limpeza será tentada durante a próxima varredura.

Versão Valor padrão
SQL Server 2019 (15.x) 120
SQL Server 2022 (16.x) e versões posteriores 15

Comentários

O limpador é de thread único no SQL Server 2019 (15.x). No SQL Server 2022 (16.x), o limpador é single-threaded por padrão, mas pode ser tornado multi-threaded configurando a configuração do servidor ADR Cleaner Thread Count.

Se o limpador for de thread único, ele só poderá funcionar em um banco de dados de cada vez. Se a instância tiver mais de um banco de dados com ADR habilitado, não aumente o tempo limite para um valor grande. Isso pode atrasar a limpeza em um banco de dados enquanto a nova tentativa está acontecendo em outro banco de dados.

Problema conhecido

Para SQL Server 2019 (15.x) 12 e versões anteriores, esse valor pode ser definido como 0. Recomendamos que você redefina manualmente o valor para 120, que é o padrão projetado, usando o exemplo neste artigo.

Exemplos

O exemplo a seguir define o tempo limite de tentativa do limpador para o valor padrão.

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

Exemplos

O exemplo a seguir define o tempo limite de repetição do serviço de limpeza como o valor padrão.

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