Report Offensive Message

Qualify your statement: MS SQL should never be on a virtual server...
...if you don't know what you're doing. SQL Server's default configuration is to use all available memory, leaving only about 300 MB free. You can install SQL Server on a server with 16 GB of memory, put a 100 MB database on that server, and SQL Server will use 15+ GB of memory. Bump the server memory up to 32 GB with the same database and SQL Server will use 31+ GB. Bump the server memory up to 64 GB with the same database and SQL Server will use 63+ GB of memory. For a 100 MB database.

If someone doesn't know how to size and manage SQL Server, he/she probably shouldn't be running SQL Server. SQL DBAs should know the performance counters to measure and monitor to determine how much SQL Server actually *needs* and limit SQL Server's memory consumption appropriately.

Regarding memory allocation to a VM, we've got almost 90 virtualized SQL Server instances on almost as many VMs, and those SQL VMs have anywhere from 4 - 39 GB allocated to them.

Outside of SQL Server, we are looking at VMs with up to 192 GB allocated. If your hypervisor (hosted or bare metal) cannot meet your needs (# virtual CPUs, GB of memory, etc.), move to a hypervisor that can.
Posted by Jeff Adams
11th Feb 2012