Compartilhar via


configuração do servidor: Fator de Pré-alocação da ADR

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores da Instância Gerenciada de SQL do Azure

A partir do SQL Server 2019 (15.x) e na Instância Gerenciada de SQL do Azure, essa configuração é usada pela recuperação acelerada do 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 linha ou off-row em uma tabela interna chamada PVS (repositório 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. Um thread em segundo plano pré-aloca páginas e as mantém prontamente disponíveis para inserções em PVS. 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 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. O tx_version_optimized_insert_stats evento estendido é acionado periodicamente quando ocorrem alocações de espaço em PVS e fornece estatísticas de alocação de espaço. Se o valor no foreground_allocation_percent campo for significativamente maior que zero, considere aumentar a ADR Preallocation Factor configuração.

Aviso

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