WAIT_XTP_CKPT_CLOSE is recorded when a thread waits for an In-Memory OLTP (XTP) checkpoint to complete. XTP checkpoints differ from disk-based ones: they continuously roll data into checkpoint file pairs, and a checkpoint “close” seals the current set. Threads coordinating with that close event park here.
Present wherever memory-optimized filegroups exist, however lightly used.
Is It a Problem?
No; it has not been a contention point and belongs on the benign filter list with the rest of the WAIT_XTP_* family. Its totals track XTP checkpoint frequency, which follows log generation on the memory-optimized tables.
Genuine XTP checkpoint health is visible in sys.dm_db_xtp_checkpoint_files: file pair counts and states, and whether merges keep up. A checkpoint system falling behind shows there, and eventually as log truncation problems, not through this wait.
Common Causes
- Normal In-Memory OLTP checkpoint closes on databases with memory-optimized filegroups.
- Write bursts to memory-optimized tables raising checkpoint frequency.
What To Do
- Filter it out of wait analysis.
- Check
sys.dm_db_xtp_checkpoint_filesand log truncation health when XTP checkpointing is the actual question.
How To See It
Rank waits with Get-WaitStatistics, where it is filtered as XTP background machinery.
Part of the SQL Server Wait Types Library.
Related deep dive: WRITELOG Wait Type.
Leave a Reply