I have the same behavior in 2 SQL Servers where Stolen Server Memory and Database Cache Memory counters are decreasing (Db Cache) and increasing (Stolen Memory) in a linear way. The amount of memory decreased from Db Cache Memory is almost the same amount of memory increased in Stolen Memory. Has anyone seeing this behavior before? Is it an expected behavior?

Both server's configuration:

  • SQL Server 2012 ENTERPRISE with SP3
  • 32GB memory

Thanks for the attention

  • I have wrestled with this problem on an instance of SQL Server used to run a SharePoint environment for some time, and never really solved it. Stolen memory creeps up and up until users performance dips because PLE is at rock bottom. Rebooting the server during weekly maintenance windows keeps things running smoothly for me. – Molenpad Nov 11 '16 at 8:39

"stolen" memory? I like that. Seriously though, I think the question may be clearer with OS vs SQL memory. SQL will use the startup minimum set up in the config. If you didn't set a maximum, then it will continue to steal memory as more work is demanded.

Thus the available total RAM for the OS decreases over time. Simply set a maximum in the SQL properties, in your case 28GB, so it doesn't steal everything and starve the OS.

This is how SQL behaves normally so it's not that much of a thief. Hope that helps.

Not the answer you're looking for? Browse other questions tagged or ask your own question.