Friday, 25 November 2011

The OAKen saga - a battle with SQL server install

SQLServer 2008 Express must run on our server OAK for Jenkins Continuous Integration.

 
The monster fights fiercely.

 
Had our aim been true, we would:
Download SQLServer Express With Tools (free version) to get SQL Server Management Studio plus the Advanced Services such as Searching
Install Visual Studio, whatever releases we want.

 
But, we had put on Visual Studio, so:
The SQLEXPRESS beast ran as Windows Authentication. It would not go to Mixed Mode.
The change could only be wrought by SSMS.

 
Alas, the download (SSMS) has a bug. It asked for Service Pack upgrades, but could not see them.
It could not see VS2008 SP1 was there.

 
With greatest care, your hero delved into the registry.
She took the trail http://devlicio.us/blogs/sergio_pereira/archive/2010/03/07/rule-quot-previous-releases-of-microsoft-visual-studio-2008-quot-failed.aspx
HKLM\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0\PRO\1033
"SP"=dword:00000000
"SPIndex"=dword:00000000
"SPName"="RTM"
and
HKLM\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0\
"SP"=dword:00000000
"SPIndex"=dword:00000000

 
And now, we have gained a new instance install of SQL Express with Advanced Services.
Known henceforth as OAK\SQLEXPADV. It is happy, for I can run SQL scripts.

 
I fear OAK\SQLEXPRESS is lost. It lamely accepts Windows Authentication logins, but will not upgrade to Mixed mode.

 
Even OAK\SQLEXPADV has a journey to make. It cannot be reached from the remote regions of BIRCH or PINE. Or not yet!

 
I trust OAK\SQLEXPADV is now close to Jenkins. The script RebuildOakDatabase succeeds.
I shall continue my quest this afternoon.

 
From your bard,
Margaret.

Later writers add:
A couple of things on Jenkins that weren't obvious:
  • have set msbuild parameters /p:Configuration=Release /p:Platform="Any CPU" to match Third Party Tools\NUnit\nunit-console.exe as opposed to Third Party Tools\NUnit\nunit-console-x86.exe.
  • Need to think about whether x86 or x64 will be our default build, and which we should unit- and integration-test.
  • Jenkins uses workspace as its current directory, so have added a BuildOakDatabase.bat that cds to our main scripts folder before running the usual BuildOakDatabase.bat

Jenkins is now succeeding for all four of our LabCom suite products. We can switch off the old Cruise Control tests in a few days time.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.