MemoryGrantWarning* happens when SQL Server detects that memory grants were not estimated properly, as it relates to the comparison between the initial memory grant and the memory used throughout execution. This warning happens when one of the following three conditions occur:
- ExcessiveGrant: This warning is fired when the max used memory is too small when compared to the granted memory. This scenario can cause blocking and severely affect SQL Server's ability to run concurrent workload efficiently. For example, if a SQL Server has 10 GB of memory, and each request is granted 1 GB of memory but only uses a small fraction of that, then at most only 10 queries can be active simultaneously, but looking at the actual used ...