The default memory management of an SQL Server is that of acquiring as much memory as possible without impacting other system resources and releasing memory only as requested.
The above behavior is generally fine unless you are running multiple applications on the server like, for example, like when deploying SCCM and SQL on the same server in which case you will want to limit memory available to SQL.
SCCM SQL – Memory Management
As already stated SQL Server tries to acquire as much memory as possible at startup so to build a buffer pool in memory to hold pages read from the database so to avoid I/O operations as much as possible.
So how much memory SQL will be using? Well the short answer all the memory you’re going to feed the system, this statement will seem a bit weird but that’s the way it is if you put 16 or 32GB of memory in your system SQL process will grab as much as possible of this memory. There is a nice article explaining this in good detail, for our SCCM SQL configuration I will keep details to a minimum.
SCCM SQL – Limit SQL Memory
With the above statement in mind one of the first steps you will want to take as soon as you have installed SCCM SQL instance will be limiting the amount of memory used by SQL to do this open SQL Server Management Studio and connect to the SQL Server with an account with enough privileges
Right click on <Server Name> and select Properties from the contextual menu that will appear
In the ServerProperties page select the Memory tab and observe on the right side pane how, by default, SQL is configured to use all available memory on the system
In the system that I am using to host SCCM SQL database which has 16GB of memory I’ve set the Max Memory value to 8GB which will leave enough memory to run SCCM without any problem.