SQL2008 Installation on Windows 2008 R2

 One issue, several \”solutions\”
I had the unbounded joy of being able to install SQL2008 on Windows 2008 R2 this week.
Joy ? Is that too strong a word ?
Yes, it is, because what should have taken a day ended up taking 3 !! During my trials, I came across one problem, but the solution was different in each case.
note: servers were sub-strength VMs – I recommend physical tin if you\’ve got the budget, or the beefiest VM you can muster on the quietest host you\’ve got.
In each case, SQL2008 Setup bailed out with an error:
Cannot invoke window control until it has been created.
Scenario 1 
Installing SQL 2008 RTM
Solution 1 
Take it very slowly. Very VERY slowly. At the end of the information gathering section of the install, it will actually create a Configuration.ini file to do the install itself. Once the first install is complete, you can use this file (and the Summary.txt file in the same folder) to do an automated install on other servers (From the Installation Center, choose \’Advanced\’, then \’Install from configuration file\’)
Scenario 2
Installing SQL2008 Service Pack 1
Solution 2
Boot the server. Try it again a couple of times before going to Solution 3.
 
Solution 3
Make sure that you have not tweaked your RTM install for language settings for the SQL Server and your installation account. If you have, untweak them before having another go – remember to restart SQL Server beforehand.
Solution 4
Wait for the error message. If your installing from the self-extracting exe, you can copy the extracted files from their extracted location before you press OK on the error box. You can then run the service pack setup from the unpacked files. Try it and you\’ll see what I mean.
Solution 5 
Murphy puts his coat on and leaves the building. True – the last time I got this error on the last server I was building, it failed 8 times and then just worked !

Hope this helps !

SQL2000 MSDE – Adding new users

I don\’t know about you, but I\’m constantly surprised that anyone could accomplish great things using SQL2000, but accomplish them they did. There\’s a wealth of \’lost\’ knowledge about the product – I say \’lost\’ because we now have DMVs to empirically show us what we previously just had to \’understand\’ and \’accept\’.
One such example of this \’lost\’ knowledge was presented to me recently – I was asked to add a user to an instance of SQL2000 – a simple enough task. The challenge was that the instance was MSDE (a freely distributed desktop SQLServer engine from the SQL2000 family), but given that there was no Management Console shipped with the product, you\’ve kind of got to go back to first principles and use the good old OSQL utility.
Say you want to add NT AUTHORITY\\System to the SysAdmins. MSDE will only listen for connection on Shared Memory (as far as I remember), so you\’ll have to use your favourite remote support tool to run these commands.
(Note: you can check which protocols MSDE is listening on by looking at the ERRORLOG file  in <>\\Program Files\\Microsoft SQL
Server\\MSSQL\\LOG\\
. This is a plain text file, so notepad or your text editior of choice will let you read it.)
Start a command window.
Type \”OSQL -S<> -E\” and press return. MSDE will only respond when poked with the full server name. For OSQL command line help, type \”OSQL -?\” at the command prompt and press return.
The OSQL command prompt is kind of odd in that you get to input code one a line–by-line basis, but it won\’t execute anything until you press return to submit the query AND THEN \’GO\’ to execute it.
So, the completed set of commands to add a new user to MSDE would look like:
1>EXEC sp_grantlogin [NT Authority\\System]
2>GO
3>EXEC sp_addsrvrolemember \’NT Authority\\System\’, \’sysadmin\’
4>GO
5>SELECT name, sysadmin FROM syslogins
6>GO
7>QUIT
(or whatever user you needed to add).
Hope this helps (or jogs your memory a bit)