Badges

gestaltitbadge

follow-me-twitter

Subscribe to me on FriendFeed

Comments / DISQUS
Feedjit.com

Why not VirtualCenter with SQL 2005 Express?

As of VirtualCenter 2.5 (VC) MSDE was replaced by SQL 2005 Express as the default installation database. This post explores the idea of running small and medium business (SMB) VMware virtual infrastructure (VI) environments with the free SQL 2005 Express version instead of  a fully licensed instance of SQL 2005/2000.

To start with VMware’s VI3.5 and VC2.5 Installation Guide states:

The Microsoft SQL Server 2005 Express database package is installed and configured when you select Microsoft SQL Server 2005 Express as your database during VirtualCenter installation or upgrade. This is shown in Installing VMware Infrastructure Management Software. No additional configuration is required.

If Microsoft SQL Server 2005 Express is already installed, review the required database patches specified in Table 2-1. If you do not prepare your database correctly, the VirtualCenter installer might display error and warning messages.See www.microsoft.com/sql/editions/express/default.mspx.

Note: Microsoft SQL Server 2005 Express is intended to be used for small deployments of up to 5 hosts and 50 virtual machines.

5 ESX hosts and 50 VMs is definitely enough support for most small business deployments. Frankly, with modern hardware pricing the 50 VM limit will be reached before ever deploying 5 ESX hosts. 16 guests on a host is a common scenario these days which, if you do the math, creates a 3 host ESX Cluster.

So why would a company that does not expect to grow it’s number of VMs beyond 50 not use SQL 2005 Express? Here’s the 2 best reasons I could think of, and then a counter argument for each.

  • 4 GB database size limit of SQL 2005 Express – The VirtualCenter database size calculator shows that even an agressive 20:1 consolidation ratio for 5 hosts and 100 VMs doesn’t even come close to the 4 GB size limitation.
  • VC as a VM – A lot of SMBs choose to run VC as a VM. If you follow best practices then you should separate the SQL instance from the VC server. However, I’m willing to bet the intent of that configuration is meant for larger deployments where processor, RAM, and disk cycles are more intense. Once again, based on the numbers shown in the database calculator (and past experience) just give your VC VM 4 GB of RAM and 2 vCPUs and you should be OK with the SQL 2005 Express instance installed locally.

Let me know if there is a better reason not to use SQL Express for VirtualCenter in small implementations.

Related Posts

  • Phil Howard

    For what it’s worth I have a 4 host, 75VM cluster that has been running happily for a year on an SQL express DB. Most of my VM’s are pretty low IO but I do have a pair of Exchange servers and a big file server in the environment. All of that said, my VCDB is only 1Gb. I have an OSQL batch file that runs nightly to handle my backup and clear the transaction log. It’s a little pokey at times, but pretty stable. Even without the benefit of SQL agent you can take care of all the management tasks with an OSQL script and the task scheduler

  • Phil Howard

    If anyone is curious here’s how I do backups. Drop this line into a batch file and run at your leisure.

    OSQL -E -D “VMware VirtualCenter” -n -Q “BACKUP DATABASE vcdb TO DISK = ‘\backupSQLBackupsVirtualCenter.bak’ WITH INIT, SKIP”

  • Phil Howard

    If anyone is curious here’s how I do backups. Drop this line into a batch file and run at your leisure.

    OSQL -E -D “VMware VirtualCenter” -n -Q “BACKUP DATABASE vcdb TO DISK = ‘\\backup\SQLBackups\VirtualCenter.bak’ WITH INIT, SKIP”

  • http://blog.core-it.com.au Leo Raikhman

    Rich,

    just because it’s a small implementation does not mean it’s important. I use the full SQL 2005 because then I can at least create a database mirror (if the customer doesn’t want a cluster) to preserve some of the more esoteric configurations like folders, permissions, annotations.

    You can’t do that with SQL Express.

  • http://blog.core-it.com.au Leo Raikhman

    Rich,

    just because it’s a small implementation does not mean it’s important. I use the full SQL 2005 because then I can at least create a database mirror (if the customer doesn’t want a cluster) to preserve some of the more esoteric configurations like folders, permissions, annotations.

    You can’t do that with SQL Express.

  • http://vmetc.com rbrambley

    Leo,

    Good point, but it depends on the customers budget. You definitely need a backup of your SQL dbase no matter what version. By no means did I mean to come across as saying that small implementations were not as important!

    Phil,

    Thanks for the backup script

  • http://vmetc.com Rich

    Leo,

    Good point, but it depends on the customers budget. You definitely need a backup of your SQL dbase no matter what version. By no means did I mean to come across as saying that small implementations were not as important!

    Phil,

    Thanks for the backup script

  • tom
  • tom
  • Pingback: How to Upgrade the VirtualCenter SQL 2005 Express database | VM /ETC

  • Tom

    Why do you want 2 years' historical data??

    What is really needed is a way to export historical data out of SQL Express and save it to another database for review, thus keeping the main 6 months / 1 year of data always available, then using the second historical database only when necessary.

    Anyone have a script for doing this??

    I did make a comment with several links to freeware etc. tools and stuff pertaining to SQL Express, but I don't see it here…I don't know why it was deleted.

    Thank you, Tom

  • http://vmetc.com rbrambley

    Tom,

    I never saw your post with the links. I do hold for review any post
    with more than 2 links because of spam, but I do not recall seeing
    yours. Maybe it fell into my spam comments and I'll double check. In
    the meantime can I get you to repost the comment?

  • Tom

    Why do you want 2 years' historical data??

    What is really needed is a way to export historical data out of SQL Express and save it to another database for review, thus keeping the main 6 months / 1 year of data always available, then using the second historical database only when necessary.

    Anyone have a script for doing this??

    I did make a comment with several links to freeware etc. tools and stuff pertaining to SQL Express, but I don't see it here…I don't know why it was deleted.

    Thank you, Tom

Get My Podcast On iTunes!
Support VM /ETC
Support VMETC.com

Support VMETC.com

Free Business and Tech Magazines and eBooks
@rbrambley tweets
VMTN Roundtable Podcasts
Subscribe



Add to Google Reader or Homepage
Subscribe in NewsGator Online
Add to netvibes
Add to Plusmo