SQL Server 2012 SP2 or above is preferred for SCVMM 2016 to store its configuration
and data, but this does not need to be installed on the SCVMM server. It is possible to
use any currently supported version of SQL Server if required, however the newer the
better. I recommend having a separate SQL server used for SCVMM and leveraging an
existing SQL server farm in your organization that is highly available and maintained
by SQL administrators. If you are testing SCVMM in a lab with a small number of
hosts, installing SQL on the SCVMM server is fine. Where possible, however, you
should leverage an external, dedicated SQL environment.
If you are running an older version of SCVMM 2012, specific operating system and
SQL server requirements are documented at the following locations:
Operating system requirements: http://technet.microsoft.com/en-
us/library/gg610562.aspx
SQL Server requirements: http://technet.microsoft.com/en-
us/library/gg610574.aspx
The hardware specifications required will vary based on the number of virtualization
hosts being managed by SCVMM. A single SCVMM 2016 server can manage up to
1,000 hosts containing up to 25,000 virtual machines. The Microsoft
recommendations state that when you have fewer than 150 hosts per SCVMM, you
can run SQL Server on the SCVMM instance. I still prefer to limit the number of SQL
instances in my environment, and it’s better to invest in that well-architected and
maintained highly available SQL farm rather than a local SQL installation. Also, if you
are planning on implementing a highly available SCVMM installation, you need SQL
Server separate from your SCVMM server. Virtualizing SCVMM 2016 is fully
supported and indeed recommended. All of the clients I work with virtualize SCVMM.
As with any virtualized service, it is important to ensure that the necessary resources
are available to meet your virtualized loads and that you don’t overcommit resources
beyond acceptable performance. Because SCVMM is so important to the management
of your virtual environment, I like to set the reserve on the vCPUs for my SCVMM to
50 percent to ensure that it can always get CPU resources in times of contention. Of
course, as you will see, SCVMM should be doing a great job of constantly tweaking
your virtual environment to ensure the most optimal performance and to ensure that
all the virtual machines get the resources they need, moving the virtual machines
between hosts if necessary. If you have severely overcommitted your environment by
putting too many virtual machines on the available resources, performance will suffer,
which is why proper discovery and planning are vital to a successful virtual
environment.
Dynamic Memory is fully supported by SCVMM. For production environments, I
recommend setting the startup memory to 4,096 and the maximum to 16,384 (the
Microsoft minimum and recommended values). SCVMM 2012 R2 had two sets of
guidance for sizing: environments of 150 managed hosts or fewer (which could use
smaller amounts of memory) and environments of 151 managed hosts or more. This