Friday, October 15, 2010

NESQL 2010 October 14 Virtualizing SQL Server

I attended a New England SQL Server User Group meeting last night. Brent Ozar did a presentation on Virtualizing SQL Server.

During the last few years, I have become a fan of virtualization for SharePoint environments, including the SQL Server database server role. I know many in the SharePoint community are skeptical about this, so, it was interesting to observe the opinions and responses from the local SQL Server community. I think the majority of the room was still skeptical (as expected) about virtualizing SQL Server. However, Brent did a good job of providing guidance on how to get the best performance out of a SQL environment when it is virtualized.

Beyond enlightening me about some of the finer details of how virtualization impacts I/O, Brent's presentation provided greater validation for my opinion of virtualizing SQL Server. At this point, I believe the technology is definitely mature enough to handle all roles (including database role) of most production SharePoint environments. That is; if adequate hardware is allocated and if virtualization is implemented well.

Some of the take-aways I scribbled down include the following (no warranties with these notes because I can barely read what I wrote):

- CPU-Z is a great, free utility for monitoring true CPU performance on guest systems
- In a virtual environment, more cores assigned to a SQL Server VM may actually leads to worse performance due to overhead related to instruction assignment behavior in shared environments relative to processor caching.

- In VMWare, set memory reservations, don't over commit RAM, use large pages (Microsoft, 2010).
- In SQL Server, remember to set min/max memory appropriately.

- Group DBs logically based on purpose, maintenance schedule, security, etc.
- Still separate Temp DB in virtual environments.

I believe Brent will be presenting the complete version of his presentation at the PASS Summit in November. Either way, if you are reading up on this topic, then check out his blog post on Virtualization Best Practices.


CPUID (2010). CPU-Z supports the new Intel Sandy Bridge processors. Retrieved October 15, 2010 from

Microsoft (2010). SQL Server and Large Pages Explained. Retrieved October 15, 2010 from http://blogs.msdn.com/b/psssql/archive/2009/06/05/sql-server-and-large-pages-explained.aspx.

Ozar (2010). Virtualization Best Practices. Retrieved October 15, 2010 from http://www.brentozar.com/sql/virtualization-best-practices/.

No comments:

Blog Archive