configuração do servidor: Fator de Pré-alocação da ADR
Aplica-se:SQL Server
A partir do SQL Server 2019 (15.x), essa configuração é usada pela recuperação acelerada de banco de dados.
A ADR (recuperação acelerada de banco de dados) usa versões de linha para fins de gerenciamento de transações e recuperação de banco de dados. Essas versões são geradas como parte de várias operações de DML (linguagem de manipulação de dados). As versões são armazenadas em uma tabela interna chamada PVS (armazenamento de versão persistente).
Comentários
O desempenho pode ser prejudicado se as páginas forem alocadas para o repositório de versão persistente (PVS) como parte das operações DML de usuário em primeiro plano. O thread em segundo plano pré-aloca as páginas e as mantém prontamente disponíveis para transações de DML. O desempenho é ideal quando o thread em segundo plano pré-aloca páginas suficientes para que a porcentagem de alocações de PVS em primeiro plano seja próxima de 0. O log de erros contém entradas com o rótulo PreallocatePVS
se a porcentagem for alta o suficiente para afetar o desempenho.
O número de páginas que o thread em segundo plano prealoca baseia-se em várias heurísticas de carga de trabalho. Normalmente, o thread em segundo plano aloca blocos de 512 páginas. O fator de pré-alocação da ADR é um múltiplo dessa parte. Por padrão, o fator é 4
, o que significa que 2048 páginas são pré-alocadas de uma só vez quando necessário.
Embora o thread em segundo plano leve os padrões de carga de trabalho em consideração, esse fator pode ser aumentado, se necessário, para aprimorar o desempenho.
Cuidado
Se o fator de pré-alocação de PVS aumentar demais, ele poderá competir com outras alocações no sistema e reduzir o desempenho geral. Antes de modificar essa configuração, obtenha uma linha de base do desempenho do sistema para fins de acompanhamento e comparação.
Problema conhecido
Para o SQL Server 2019 (15.x) CU 12 e versões anteriores, esse valor pode estar definido como 0
. Recomendamos que você redefina o valor para 4
, que é o padrão projetado, usando o exemplo neste artigo.
Exemplos
O exemplo a seguir define o fator de pré-alocação como 4
.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO