• Jeff Moden - Wednesday, September 13, 2017 6:33 AM

    SQL Server will do its damnedest to pre-allocate all of the memory that it has been allowed to use. 

    Not in current versions. It used to be the case that min server memory was allocated on startup, but that hasn't been the case for a long time.
    SQL will take what it needs, if it needs more and hasn't reached max server memory yet, it will allocate more. It will aggressively ramp up the buffer pool initially, but it won't grab more than it needs.
    That said, there's more that needs memory than just the data cache.

    The only time it pre-allocates is when large pages are used, as memory allocated that way cannot be resized after allocation.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass