Udostępnij za pośrednictwem


Konfiguracja serwera: Współczynnik wstępnej alokacji ADR

Dotyczy:programu SQL Server

Począwszy od programu SQL Server 2019 (15.x), to ustawienie konfiguracji jest używane przez przyspieszone odzyskiwanie bazy danych.

Przyspieszone odzyskiwanie bazy danych (ADR) używa wersji wierszy do celów zarządzania transakcjami i odzyskiwania bazy danych. Te wersje są generowane w ramach różnych operacji języka manipulowania danymi (DML). Wersje są przechowywane w wewnętrznej tabeli nazywanej magazynem wersji trwałych (PVS).

Uwagi

Wydajność może ulec pogorszeniu, jeśli strony są przydzielane do trwałego magazynu wersji (PVS) w ramach operacji DML wykonywanych na pierwszym planie przez użytkownika. Wątek w tle wstępnie przydziela strony i utrzymuje je łatwo dostępne dla transakcji DML. Wydajność jest optymalna, gdy wątek tła wstępnie przydziela wystarczającą liczbę stron, tak że alokacje PVS na pierwszym planie są bliskie 0%. Dziennik błędów zawiera wpisy z tagiem PreallocatePVS, jeśli wartość procentowa zostanie wystarczająco wysoka, aby wpłynąć na wydajność.

Liczba stron wstępnie przydzielanych przez wątek tła opiera się na różnych heurystykach obciążeń. Często wątek w tle przydziela bloki po 512 stron. Współczynnik wstępnej alokacji ADR jest wielokrotnością jednostki pamięci. Domyślnie współczynnik wynosi 4, co oznacza, że w razie potrzeby jednocześnie wstępnie przydzielane jest 2048 stron.

Chociaż wątek w tle bierze pod uwagę wzorce obciążeń, ten czynnik można zwiększyć, jeśli to konieczne, aby zwiększyć wydajność.

Ostrożność

Jeśli współczynnik wstępnej alokacji PVS jest zbyt duży, może konkurować z innymi alokacjami w systemie i faktycznie obniżyć ogólną wydajność. Przed zmodyfikowaniem tego ustawienia uzyskaj punkt odniesienia wydajności systemu na potrzeby śledzenia i porównywania.

Znany problem

W przypadku programu SQL Server 2019 (15.x) CU 12 i poprzednich wersji tę wartość można ustawić na wartość 0. Zalecamy zresetowanie wartości do 4, która jest zaprojektowaną wartością domyślną, przy użyciu przykładu w tym artykule.

Przykłady

Poniższy przykład ustawia współczynnik przedalokacji na 4.

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