The flood gates have opened and the information is all starting to trickle out. First with the vSphere 5 announcement, along side the vCloud Director 1.5 announcement.
Many know that one of the big pain points for vCD 1.0 was the fact that an Oracle database has to be used. vCD 1.5 has relieved us of that constraint and now allows Microsoft SQL Server to be a target database. I'm going to show you how to correctly configure Microsoft SQL Server 2008 to be used with vCloud Director 1.5
READ THE COMPLETE GUIDE - How To Install VMware vCloud Director 1.5 From Beginning to End
The first piece of the puzzle is knowing that Active Directory credentials will not work. You must create a local user account on the SQL Server. Make sure that you uncheck the "Enforce password expiration" because you don't want vCD down because of a database account error. I have created a user account called vcdmgr. After the database is completed you can change the "default database" setting to your vcloud database, but it isn't necessary.
I was at a customer site today and I was baffled as to why my SQL database couldn't be reached during my vCloud install. It was a simple step I completely forgot so I'm updating this to make sure you don't make the same mistake. Before going any further, right click on your root database server and go to properties.
Now we need to set the authentication method under Security for the server to both Windows AND SQL. If you do not allow SQL authentication, then the vCloud installer will not be able to continue and acts like the SQL server is being unresponsive.
Next we need to create a new database and assign the owner as the account we just created.
Next, we need to change the initial database size and growth rate. This is tip from Erik Bussink. As he explains, this will help alleviate growth freezes during heavy IO patters. Change the initial size of the PRIMARY to 1024MB and set the growth by 512MB. Erik tends to use a limit to stop growth, but I left it untouched. The log needs to be changed to an initial size of 128MB and grow by 128MB. SQL will automatically insert a growth limit of 2GB.
Before we click finish, we need to change the Collation setting. This setting needs to be at Latin1_General_CS_AS. Feel free to change the recovery model to something else besides full. Simple recovery is a best practice, but let your DBA do the thinking for this one.
Thanks to @ErikBussink over at bussink.ch for finding an error in my database creation setup. Not everything can be done in the GUI, so we need to run a SQL Script. You can find his completely scripted SQL 2008 vCloud DB install over at vCD 1.5 database creation using Transact-SQL on SQL Server 2008 R2
Go to your SQL Window and make sure the SQL Editor panel is open.
At the top right choose to do a New Query:
Add this script into the SQL editor and press execute (change vcd-01 with the name of your new database. Also make sure lines are not tabbed over from copy/paste, they need to be aligned all the way to the left):
USE [vcd-01]GOALTER DATABASE [vcd-01] SET RECOVERY SIMPLE;ALTER DATABASE [vcd-01] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;ALTER DATABASE [vcd-01] SET ALLOW_SNAPSHOT_ISOLATION ON;EXEC sp_addextendedproperty @name = N'ALLOW_SNAPSHOT_ISOLATION', @value = 'ON';ALTER DATABASE [vcd-01] SET READ_COMMITTED_SNAPSHOT ON WITH NO_WAIT;EXEC sp_addextendedproperty @name = N'READ_COMMITTED_SNAPSHOT', @value = 'ON';ALTER DATABASE [vcd-01] SET MULTI_USER;GO
Right click the newly created database and go to Properties.
Inside the Properties of the database, go to Extended Properties and you should see these new rows:
ALLOW_SNAPSHOT_ISOLATION and value: ON
READ_COMMITTED_SNAPSHOT and value: ON
Now that our database has been setup, we'll fast forward to the vCloud Director installation where we need to specify the number 2 for Microsoft SQL Server, type in the name/IP of our SQL Server, accept the default port of 1433, type in the name of our database, and the local username and password we configured during database setup. The connection should establish and the install should continue as below.
That's all there is to it.