Installing SQL Server 2008R2 to Windows 7 VM

While installing an instance of SQL2008R2 to a Windows 7 Workstation VM (used by my programmers) on my VMWare vSphere cluster I ran into a problem.

While the SQL installation seemed to go OK, it hung up toward the end during ‘Windows Installation Final Tasks – Clean up processes…” or something at “Install_sqlncli_Cpu64_Action”
The install just hung forever – let it actually try to run over night and it never completed.

The solution is simple, and kind of a ‘duh’.
SQL2008R2 needs 4GB RAM and minimum of 4 cores/processors.
My Production SQL VM’s easily met this criteria but not so with the workstations.
So simply cancelled the installation. Shut down the VM. Edited the VM – upped RAM to 6GB and processors to 4.
Restart VM then let it boot and let Win7 reconfigure itself. It will require another reboot.
I then completely uninstalled the failed installation. Then rebooted.
Also remember that this is REALLY IMPORTANT!! – Open the ports on the Windows Firewall for SQL2008

This can be done by copying the following (everything in between the break lines including the last ‘return’ at the end) into a text file and renaming it with a .bat extension. something like ‘opensqlfirewallports.bat’ or what ever and running it with administrative permissions.
————————–
@echo =========  SQL Server Ports  ===================
@echo Enabling SQLServer default instance port 1433
netsh firewall set portopening TCP 1433 “SQLServer”
@echo Enabling Dedicated Admin Connection port 1434
netsh firewall set portopening TCP 1434 “SQL Admin Connection”
@echo Enabling conventional SQL Server Service Broker port 4022
netsh firewall set portopening TCP 4022 “SQL Service Broker”
@echo Enabling Transact-SQL Debugger/RPC port 135
netsh firewall set portopening TCP 135 “SQL Debugger/RPC”
@echo =========  Analysis Services Ports  ==============
@echo Enabling SSAS Default Instance port 2383
netsh firewall set portopening TCP 2383 “Analysis Services”
@echo Enabling SQL Server Browser Service port 2382
netsh firewall set portopening TCP 2382 “SQL Browser”
@echo =========  Misc Applications  ==============
@echo Enabling HTTP port 80
netsh firewall set portopening TCP 80 “HTTP”
@echo Enabling SSL port 443
netsh firewall set portopening TCP 443 “SSL”
@echo Enabling port for SQL Server Browser Service’s ‘Browse’ Button
netsh firewall set portopening UDP 1434 “SQL Browser”
@echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK)
netsh firewall set multicastbroadcastresponse ENABLE

———————————————–

I also added this registry key below. You can copy everything between the breaks and save as a .reg file if you’d like and run that ‘as administrator’ as well.

—————-
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib\tcp]
“DefaultPort”=dword:00000599
—————-

After that I was able to very quickly install SQL2008R2.
During server configuration, under Account Name I selected “NT AUTHORITY\SYSTEM”, leaving password blank. In addition I also changed its startup type from Automatic to Manual.

Once installation was complete, I opened SQL Server Configuration Manager. The current setting was that I was logging on as built-in account “Local System”. I started the service without making any changes and this time it started without any error messages.

Just thought I’d put this up for any of those who’ve had the same issue and as a reference for myself.

To connect to the Server make sure you specify the machine name AND the server instance name: Windows7PC1\SQL2008dev or whatever

Well, until I hear differently from my Devs 😛