Delen via


Serverconfiguratie: ADR-schonere time-out voor opnieuw proberen (min.

van toepassing op:SQL Server-

Vanaf SQL Server 2019 (15.x) wordt deze configuratie-instelling gebruikt voor versneld databaseherstel (ADR). De cleaner is een asynchroon proces dat periodiek ontwaakt en versies van rijen schoont die niet nodig zijn.

Af en toe kan het reinigingsprogramma tegen problemen aanlopen bij het verkrijgen van object- of partitieniveau IX-vergrendelingen vanwege vergrendelingsconflicten met gebruikersworkloads tijdens het doorlopen. De schoonmaker houdt dergelijke pagina's in een aparte lijst bij. ADR cleaner retry timeout (min) bepaalt de hoeveelheid tijd die de schoonmaker uitsluitend besteedt aan het herhaaldelijk proberen IX te verkrijgen en het opschonen van pagina's voordat de schoonmaker de operatie opgeeft. Het voltooien van de ronde met 100% succes is essentieel om de groei van afgebroken transacties in de kaart met afgebroken transacties in toom te houden. Als de pagina's in de afzonderlijke lijst niet kunnen worden opgeschoond binnen de voorgeschreven time-out, wordt de huidige veegactie stopgezet en wordt de opschoonpoging uitgevoerd tijdens de volgende veegactie.

Versie Standaardwaarde
SQL Server 2019 (15.x) 120
SQL Server 2022 (16.x) en latere versies 15

Opmerkingen

De cleaner is één thread in SQL Server 2019 (15.x). In SQL Server 2022 (16.x) is de reiniger standaard single-threaded, maar kan meerdere threads worden gemaakt door de configuratie van de ADR Cleaner Thread Count-server te configureren.

Als de schoner één thread is, kan deze slechts op één database tegelijk werken. Als het exemplaar meer dan één database heeft waarop ADR is ingeschakeld, verhoog de timeout dan niet tot een grote waarde. Als u dit doet, kan het opschonen van de ene database worden vertraagd terwijl de nieuwe poging op een andere database plaatsvindt.

Bekend probleem

Voor SQL Server 2019 (15.x) CU 12 en eerdere versies is deze waarde mogelijk ingesteld op 0. U wordt aangeraden de waarde handmatig opnieuw in te stellen op 120, wat de standaardinstelling is, met behulp van het voorbeeld in dit artikel.

Voorbeelden

In het volgende voorbeeld wordt de time-out voor opnieuw proberen ingesteld op de standaardwaarde.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO

Voorbeelden

In het volgende voorbeeld wordt de time-out voor opnieuw proberen ingesteld op de standaardwaarde.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO