Partilhar via


Configuração do servidor: Fator de pré-alocação ADR

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores Azure SQL Managed Instance

A partir do SQL Server 2019 (15.x) e do Azure SQL Managed Instance, esta configuração é utilizada pela recuperação acelerada de bases de dados.

A recuperação acelerada de banco de dados (ADR) 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 linguagem de manipulação de dados (DML). As versões são armazenadas em linha ou fora da linha em uma tabela interna chamada armazenamento de versão persistente (PVS).

Comentários

O desempenho pode diminuir se as páginas forem alocadas para armazenamento de versão persistente (PVS) como parte das operações DML do usuário em primeiro plano. Um thread em segundo plano pré-aloca páginas e as mantém prontamente disponíveis para inserções no PVS. O desempenho é ideal quando o thread em segundo plano pré-aloca páginas suficientes para que a porcentagem de alocações PVS em primeiro plano seja próxima de 0.

O número de páginas que o thread em segundo plano pré-aloca é baseado em várias heurísticas de carga de trabalho. Comumente, o thread de plano de fundo aloca pedaços de 512 páginas. O fator de pré-alocação ADR é um múltiplo da 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 em consideração os padrões de carga de trabalho, esse fator pode ser aumentado, se necessário, para melhorar o desempenho. O tx_version_optimized_insert_stats evento estendido é acionado periodicamente quando ocorrem alocações de espaço no PVS e fornece estatísticas de alocação de espaço. Se o foreground_allocation_percent valor no campo for significativamente maior que zero, considere aumentar a ADR Preallocation Factor configuração.

Advertência

Se o fator de pré-alocação PVS for aumentado demais, ele pode concorrer com outras alocações no sistema e eventualmente 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 SQL Server 2019 (15.x) 12 e versões anteriores, esse valor pode ser 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