Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Symptomen
Wanneer voor uw databases de functie In-Memory OLTP is ingeschakeld in SQL Server 2022, ziet u dat het transactielogboekbestand voortdurend groeit. Daarnaast bevat het SQL Server-foutenlogboek mogelijk berichten zoals Close thread is falling behind: 4 checkpoints outstanding.
Als u de SQL Server-instantie opnieuw opstart, kan het lang duren voordat de database het herstelproces van de database voltooit.
Het probleem met sys.databases en sys.dm_db_xtp_checkpoint_stats oplossen
Wanneer u de catalogusweergave sys.databases gebruikt om informatie te verzamelen en dit probleem te onderzoeken, toont de kolom
log_reuse_wait_descXTP_CHECKPOINTals de reden voor lange afbreking. Deze waarde geeft aan dat het transactielogboek wacht tot een in-memory OLTP-controlepunt (voorheen bekend als Hekaton) plaatsvindt. Het suggereert een vertraging in checkpointbewerkingen, die mogelijk invloed hebben op de prestaties of de groei van logboekbestanden.Wanneer u de dynamische beheerweergave (DMV) sys.dm_db_xtp_checkpoint_stats van SQL Server gebruikt om informatie te verzamelen en problemen met dit probleem op te sporen, wordt in de kolom
outstanding_checkpoint_countgedurende langere tijd een niet-nulwaarde weergegeven. Het geeft aan dat controlepunten niet efficiënt plaatsvinden, wat mogelijk van invloed is op de prestaties en de groei van logboekbestanden.
Oorzaak
SQL Server 2022 heeft nieuwe mogelijkheden geïntroduceerd die het geheugenbeheer in grote geheugenservers verbeteren om de out-of-memory-omstandigheden te verminderen. Een bekend probleem in deze wijziging kan soms leiden tot het gedrag dat wordt beschreven in de sectie Symptomen .
Resolutie
Voer de volgende stappen uit om het probleem op te lossen:
- Voeg -T9810 toe als opstartparameter voor het SQL Server-exemplaar.
- Start de instantie opnieuw op.
- Geef een checkpoint, maak een logback-up, bekijk
log_reuse_wait_descen verklein het logboek indien nodig om ruimte vrij te maken.
Notitie
Dit probleem is opgelost in cumulatieve update 7 voor SQL Server 2022.
Meer informatie
Met de trace flag 9810 wordt de In-Memory OLTP-engine uitgeschakeld voor het vrijmaken van TLS-geheugen (Thread Local Storage), waarbij het gedrag van SQL Server 2019 wordt hersteld.