To stop memory grant feedback, use the hint or the setting that matches the mode of the plan. A tested demo shows that a row mode hint keeps a grant at 13,256 KB, while a batch mode hint changes nothing for a row mode sort. The post also corrects the setting names and shows the persistence switch.
Memory Grant Feedback Loop: When SQL Server Stops Adjusting
The memory grant feedback loop adjusts a grant after every run, and a query whose needs swing can send it back and forth. In a tested demo SQL Server stops adjusting on run 33 and falls back to its first grant. The post also shows what SQL Server 2025 does by default.
IsMemoryGrantFeedbackAdjusted Values: What Each Status Means
IsMemoryGrantFeedbackAdjusted values tell you what SQL Server did with the memory grant of one run. A tested demo produces every status: first execution, accurate grant, adjusting, stable, percentile adjusting and feedback disabled. The post also shows which run each status appears on.
Memory Grant Feedback Explained: How SQL Server Learns
Memory grant feedback explained with one small demo. A sort asks for 13256 KB, uses 160 KB, and gets a corrected grant of 1536 KB on the next run. The post also shows how to read the status in the plan and what the feature needs.
Memory-Optimized Files: List Logical and Physical Names
To list memory-optimized files, join sys.dm_db_xtp_checkpoint_files to sys.database_files. This post builds a small memory-optimized database, shows the container’s logical and physical name and counts its checkpoint files by type and state. It also explains why a container holds far more disk space than its data uses.
RESOURCE_SEMAPHORE_QUERY_COMPILE Wait: Check Lock Pages in Memory
RESOURCE_SEMAPHORE_QUERY_COMPILE was the first wait type in a client’s wait statistics. Readers asked how I knew to look at Lock Pages in Memory. Here is the script I used, and the setting that resolved the problem.







