VMware vCenter Server 5.0 & MS SQL Server ODBC

In my vSphere lab environment I like to try and run things as closely as possible to how it would be run in the “real world”.  Of course this isn’t always possible due to hardware and budget limitations although there are a few things I can do such as running a dedicated database (DB) server VM(s) from which to run the different vSphere related DB instances, such as vCenter, Update Manager, View, etc.  This is as opposed to running a locally installed SQL Server Express instance for every database in the lab environment.
Admittedly this does involve some extra leg-work though there is definitely value in this approach as it does expose you to extra best practices and gotchas that you can then directly apply to that “real world” environment.  Always better to cut your teeth, learn and make mistakes in a lab environment. Winking smile

vCenter Server 4.1 & 5.0+ require a 64-bit ODBC DSN Connection

vCenter Server 64 bit ODBCAnyway, when taking this approach and not installing Microsoft SQL Server locally on your physical or virtual vCenter Server machine then, unless its already been installed, you won’t have the necessary 64-bit SQL Server Native Client driver to establish the required 64-bit ODBC DSN connection between the vCenter Server and the MS SQL Server.

By default Windows Server 2008 R2 only installs a 32-bit version of the Microsoft SQL Server driver (ie: ‘SQL Server v6.0.1.xxxx.xxxxx) used to establish an ODBC connection to a Microsoft SQL Server.  This may be ok for some applications though VMware vCenter Server from version 4.1 onwards requires that a 64-bit driver and ODBC DSN connection be used.

All this means is that on your Windows OS operating system (OS) based vCenter Server machine you will need to download and install something called the Microsoft SQL Server Native Client, which will provide the required 64-bit ODBC driver (ie: SQL Server Native Client 10.0).  To ensure you are running one of the later versions of this Native Client I recommend you use the Microsoft SQL Server 2008 R2 Native Client version.  There are details below on where to download this version of the Native Client.

Use the 64-bit Microsoft SQL Server 2008 R2 Native Client

Click here to visit the Microsoft SQL Server 2008 R2 Native Client download page and scroll halfway down the page to find the three different download links (ie: x86, x64 and IA64) – for vCenter Server 5 you will want to download the x64 package. Then run this downloaded executable from the machine which will be running your vCenter Server instance.  Even if you’re running an earlier version of Microsoft SQL Server (eg: 2000, 2005 or 2008) this version of the SQL Server native client will still work.

VMware-vSphere-vCenter-5-ODBC-DSN-64[2]

For added convenience I have created an ISO file of the x64 Microsoft SQL Server 2008 R2 Native Client which you can download from here. Note: Always check however that there isn’t an updated version of the client available for download from Microsoft.

Before installing the x64 Microsoft SQL Server 2008 R2 Native Client you will only see this 32-bit version of the ODBC driver when creating a new ODBC DSN.

Windows Server 2008 R2 ODBC 64 bit driver vCenter

After installing the Microsoft SQL Server 2008 R2 Native Client you will see the inclusion of a new driver entitled”: “SQL Server Native Client 10.0”. This is the x64 driver you want to use to make the ODBC DSN connection between your vSphere vCenter Server server or VM to the MS SQL Server.

VMware vSphere vCenter x64 ODBC DSN download

 

Then after creating the ODBC DSN (using the 64-bit driver)  and getting to the stage in the vCenter Server installation process where you have to select an “existing supported database” you will see the name of the vCenter related database you created the 64-bit ODBC DSN for, as opposed to a blank white area with no SQL Servers specified. Hurray!

vCenter Server 5 ODBC Windows Server 2008 R2

Is it working? Other gotchas …

As mentioned above, after configuring your ODBC DSN connection using this freshly installed x64 SQL Server Native Client driver you should now be able to successfully find the MS SQL server and pre-created vCenter DB instance from the drop-down list box during the vCenter installation process. If the vCenter Server is still unable to connect or find the MS SQL server then go through all of the ‘standard’ type trouble shooting steps, such as double-checking the networking configuration of both machines (ie: vCenter Server and MS SQL Server) and confirming that the relevant services are up and running.

But if all of that checks out ok you will likely find, especially if running Windows Server 2008 R2, that the relevant MS SQL Server ports are blocked at the operating system firewall level or on a firewall appliance between the vCenter and SQL Server. Ensure that port TCP 1433 is open on any firewall between the vCenter Server and the SQL Server machines.

VMware vCenter Server Database Options & Prerequisites

As you’ve probably gathered the database of choice in my vSphere lab environment is always Microsoft SQL Server, rather than Oracle or IBMs DB2 databases which can also be used for vCenter Server 5.0.  The reason being is that I’m familiar with MS-SQL and have access to the software via the SQL Express edition or my MS TechNet subscription.

VMware vSphere vCenter 5 database DSN

 

  • The IBM DB2 database is only supported for vCenter Server. There is no support for Update Manager or any plug-in that requires a database.
  • Update Manager still requires the use of a 32-bit DSN.
Just a quick reminder (though I’m sure you haven’t forgotten) – Microsoft SQL Server 2005 Express (vSphere 4) & SQL Server 2008 R2 Express (vSphere 5) should only be used for small deployments of up to 5 ESXi hosts and/or 50 VMs.  In many situations this makes it ideal for smaller vSphere lab environments (if you don’t have a MS TechNet subscription), and although not the full-blown version of MS SQL, by installing it on a dedicated VM and have it servicing all of your lab’s vSphere related MS SQL DB requirements can make it an effective and low cost solution.
VMware-vSphere-vCenter-5-database-DS[2]Before installing vCenter Server 5.0 there are a couple of pre-requisites for the server onto which you’re installing vCenter.  These pre-requisites are Microsoft .NET 3.5 SP1 and if you intend to install the Microsoft SQL Server 2008 R2 Express database then the Windows Installer 4.5 is also required (if your OS doesn’t already have it installed).  For added convenience the install files for both of these can be found in the VMware vCenter Installer window (see image below).

 

VMware vCenter 5 pre-requisites

 

 Useful Links

Here are a couple of links containing very useful information on vCenter Server 5.0 and vSphere 5.0 itself.

 

About Simon Seagrave 706 Articles
Simon is a UK based Virtualization, Cloud & IT Technology Evangelist working as a Senior Technology Consultant and vSpecialist for EMC. He loves working in the ever changing IT industry & spends most of his time working with Virtualization, Cloud & other Enterprise IT based technologies, in particular VMware, EMC and HP products. As well as on this site, you can find him on Twitter and Google+

7 Comments

    • Hi Chris,

      Hopefully sometime soon. 🙂 It’ll be so much better having everything using the x64-bit ODBC driver.

      Cheers,

      Simon

  1. Thanks for the great article. I too try to emulate prod as best I can, that’s why I use the VNX VSA for SRM testing, very solid. One item we typically miss or maybe ignore with the vCenter DB is database maintenance. I tried to raise awareness to this in Duncan’s post http://www.yellow-bricks.com/2012/02/08/distributed-vswitches-and-vcenter-outage-whats-the-deal/ . A lot of times the vCenter DB does not have the scheduled maint. routines performed on it like other SQL DB’s because the server guys own the vCenter DB while the DBA’s own the others. Many of us just are not familiar with database maintenance items. Of course this is critical when vCenter is controlling vDS and vCD. Big troubles if the database gets corrupted and you don’t have DB backups. Gabes post http://www.gabesvirtualworld.com/reminder-keep-an-eye-on-your-vcenter-sql-db/ was an eye opener for me. Ran through the routines and was shocked how much fragmentation there was.

    Thanks again – very useful blog site.

    Tom

    • Hi Tom,

      Thanks for the message. Glad you enjoyed the post. 🙂

      Nice to know that I’m not the only one who tries to emulate a ‘real world’ environment in my lab where possible. I use the VNX VSA quite extensively in my lab setup as well. I find it ideal as it keeps my hand-in with managing the VNX and for also trying out the new vCenter EMC VSI plug-ins.

      A couple of great articles you mentioned there and a very good point about the often overlooked DB maintenance. May have to check out the fragmentation on my lab vCenter DB, as it has got me curious as to how badly fragmented that must be by now.

      Thanks again for taking the time to leave a comment, much appreciated.

      Cheers,

      Simon

  2. thank you simon this article came in handy today while i was installing a new vcenter server for my production environment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.