After getting back ffrom SQL Connections, an attendee emailed me a question that I thought was interesteing. I thought it may be educational if I also relate my response here.
The attendee asked if SQL Server could be placed on VMWare in a production environment. I've had almost no experience with VMWare, but I've used VPC and Virtual Server quite a bit. My gut was to say "No way!", but I also circulated this question to my colleagues. Although each of us has used MSFT's Virtual Technology for testing and training, putting SQL Server on a virtual machine for production was not really a desirable thing. This is due to several factors.
- SQL Server loves to "almost" take over the OS by scheduling the threads that are to be run on each CPU
- MSFT Virtual Machine Technology only supports one CPU currently
- Disk I/O - One of the biggest foes of performance is accentuated in VM technology
VMware's technology may be more advanced than MSFT's technology in this area currently. SQL Server may run fine in that environment, but it is not a situation that I would like to be in from a DBA point of view at this time. If there are performance problems, one of the first troubleshooting steps would be to take the SQL Server out of the VM environment. That could be a big pain. Perhaps SQL Express could run fine in this environment, but for a mission-critical application, but I cannot see it being recommended for production use. It is great for testing and development.