Database Reference
In-Depth Information
• If you are using disk-based tables, then you will also need enough RAM for
the buffer pool
• You will need a processor that supports the CMPXCHG16B instruction
set—all modern 64-bit processors support the CMPXCHG16B instruction set
Virtualized environments
It is very likely that you are working in an environment that is running at least
some virtualized infrastructure and virtualized machines. It is also possible
for the VMs to act as the server for your SQL Server 2014 instances. Due to
the subtle difference virtualization offers over physical hardware, there are
some additional considerations you will need to make. There are various best
practices that have been suggested when running SQL Server on an enterprise
hypervisor platform. The following excerpt is taken from the Microsoft SQL Server
documentation also available at http://msdn.microsoft.com/en-us/library/
dn529286(v=sql.120).aspx :
"Some best practices for virtualizing and managing SQL Server need to be
modified when virtualizing a database with memory-optimized tables. Without
memory-optimized tables, two of the best practices are:
If memory pre-allocation is used with SQL Server, it is better to assign only
the amount of memory that is required so sufficient memory remains for other
processes (thereby avoiding paging).
Do not set the memory pre-allocation value too high. Otherwise, other processes
may not get sufficient memory at the time when they require it, and this can result
in memory paging."
If you follow this advice with memory-optimized tables, you can run into an issue
when trying to restore the database or possibly even when your SQL Server gets
rebooted or the service restarted. It is possible for the database to get held in a
recovery-pending state. This is because SQL Server loads the data into RAM more
quickly than the hypervisor's dynamic memory allocation provides memory to the
database. To mitigate this risk when working with SQL Server memory-optimized
tables in a virtual environment, set a memory reservation for the virtual machine on
the hypervisor, thus ensuring that enough memory is allocated at startup. Consider
that when setting a memory reservation, it can impact the VM being able to utilize
some of the high-availability features that the Hypervisor can provide—such as live
migration, which allows you to move a VM without taking the VM down or starting
the VM on another node, should the current host fail for any reason.
 
Search WWH ::




Custom Search