Dela via


Serverkonfiguration: ADR-förallokeringsfaktor

gäller för:SQL Server

Från och med SQL Server 2019 (15.x) används den här konfigurationsinställningen av accelererad databasåterställning.

Accelererad databasåterställning (ADR) använder radversioner för transaktionshantering och databasåterställning. Dessa versioner genereras som en del av olika DML-åtgärder (datamanipuleringsspråk). Versioner lagras i en intern tabell som kallas det beständiga versionsarkivet (PVS).

Anmärkningar

Prestanda kan försämras om sidor allokeras för beständiga versionslager (PVS) som en del av förgrundsanvändarens DML-åtgärder. En bakgrundstråd förallokerar sidor och håller dem lättillgängliga för DML-transaktioner. Prestanda är optimal när bakgrundstråden förallokerar tillräckligt många sidor så att procentandelen PVS-allokeringar i förgrunden är nära 0. Felloggen innehåller poster med taggen PreallocatePVS om procentandelen blir tillräckligt hög för att påverka prestanda.

Antalet sidor som förallokeras i bakgrundstråden baseras på olika heuristiker för arbetsbelastningar. Vanligtvis allokerar bakgrundstråden segment på 512 sidor. ADR-förallokeringsfaktorn är en multipel av segmentet. Som standard är faktorn 4, vilket innebär att 2 048 sidor förallokeras samtidigt när det behövs.

Även om bakgrundstråden tar hänsyn till arbetsbelastningsmönster kan den här faktorn ökas om det behövs för att förbättra prestandan.

Försiktighet

Om PVS-förallokeringsfaktorn ökar för mycket kan den hantera andra allokeringar i systemet och kan faktiskt minska den totala prestandan. Innan du ändrar den här inställningen hämtar du en baslinje för systemets prestanda i spårnings- och jämförelsesyfte.

Känt problem

För SQL Server 2019 (15.x) CU 12 och tidigare versioner kan det här värdet vara inställt på 0. Vi rekommenderar att du återställer värdet till 4, som är den utformade standardinställningen med hjälp av exemplet i den här artikeln.

Exempel

I följande exempel anges förallokeringsfaktorn till 4.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO