Recently I came across an issue wherein you are installing SQL Server 2005 on an n-node Windows cluster. The setup keeps on failing with the following error message on GUI screen:

 

---------------------------

Visual Studio Just-In-Time Debugger

---------------------------

An unhandled win32 exception occurred in sqlservr.exe [2324]. Just-In-Time debugging this exception failed with the following error: No installed debugger has Just-In-Time debugging enabled. In Visual Studio, Just-In-Time debugging can be enabled from Tools/Options/Debugging/Just-In-Time.

Check the documentation index for 'Just-in-time debugging, errors' for more information.

---------------------------

OK  

---------------------------

 

Now look at the Summary.TXT file located at C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG and verify that you are getting following error messages:

 

 

SUMMARY.TXT

--------------------------------------------------------------------------------

  Machine         : MACHINEA

  Product         : Microsoft SQL Server 2005

  Product Version : 9.00.1399.06

  Install         : Failed

  Log File        : C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Files\SQLSetup0003_MACHINEA_SQL.log

  Last Action     : InstallFinalize

  Error String    : The SQL Server service failed to start. For more information, see the SQL Server Books Online topics, "How to: View SQL Server 2005 Setup Log Files" and "Starting SQL Server Manually."

  The error is  (1053) The service did not respond to the start or control request in a timely fashion.

  Error Number    : 29503

  --------------------------------------------------------------------------------

  Machine         : MACHINEB

  Product         : Microsoft SQL Server 2005

  Product Version : 9.00.1399.06

  Install         : Failed

  Log File        : \\MACHINEA\C$\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Files\SQLSetup0003_MACHINEB_SQL.log

  Last Action     : InstallFinalize

  Error String    : The setup has encountered an unexpected error while Completing Commit. The error is: Fatal error during installation.

  Error Number    : 29528

--------------------------------------------------------------------------------

 

 

If you see these error messages make sure to count the number of logical and physical processors available on the box. If the ratio of logical processors to physical sockets is not a power of 2 (for example you have 3 or 6 or 10 or 12 processors box, etc.) then you cannot install SQL Server 2005 on the cluster. To workaround this issue follow either of the resolutions given in the KB article:

954835  On a computer that has a multicore processor, if the ratio of logical processors to physical sockets is not a power of 2, you cannot install SQL Server 2005

http://support.microsoft.com/default.aspx?scid=kb;EN-US;954835

 

The above article will rule out the possibility of failure due to the processor issues.

 

Even after following the above KB article if you still not be able to install SQL Server on the cluster then you may want to do single node installation of SQL Server wherein you need to run setup of SQL Server just for one node at a time. To do SQL Server installation on a multi node cluster you can refer to a great post by Balmukund at http://blogs.msdn.com/blakhani/archive/2008/01/19/how-to-create-sql-server-2005-clustering-with-virtual-server-2005-part-5.aspx Remember to list only one node under "Selected Nodes" option on the Cluster Node Configuration screen of the SQL Server setup GUI to do single node installation.

  

In this scenario the single node installation may go well on one of the nodes but may fail on the second node, then what?? Then take a look at the ErrorLog of the SQL Server on the node on which SQL has already been installed and you may see the following messages:

 

/**********************************/

2010-01-04 15:04:22.06 spid5s      Starting up database 'mssqlsystemresource'.

2010-01-04 15:04:22.12 spid5s      Error: 958, Severity: 10, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped.

2010-01-04 15:04:22.24 spid5s      Error: 15209, Severity: 16, State: 1.

2010-01-04 15:04:22.24 spid5s      An error occurred during encryption.

2010-01-04 15:04:22.25 spid5s      SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.

/**********************************/

 

In my scenario the reason for the above failure was due to corrupted user profile of the SQL Server startup account on one of the nodes of the cluster (on which the installation was failing). To rule out this possibility, you must follow the either of the methods listed below:

 

 

Method 1:

 

            Recreate User Profile:

           

You can refer to the following article to recreate the damaged user profile:

816593  HOW TO: Identify a Damaged User Profile and Create a New Profile in Windows 2003

http://support.microsoft.com/default.aspx?scid=kb;EN-US;816593

 

 

Method 2: 

 

            Recreate New User Domain Account

 

1.       Create a new user account which will be used as SQL startup account.

 

2.       Make this new user account part of respective SQL groups in AD and give required permissions on both nodes. Following are the permissions that you should give to the SQL Server Service Account before initiating the setup on both nodes of the cluster:

 

ü  Log on as a service

ü  Act as part of the operating system

ü  Log on as a batch job

ü  Replace a process-level token

ü  Bypass traverse checking

ü  Adjust memory quotas for a process

ü  Permission to start SQL Writer

 

You will find these policies at the following location: StartàRunàSecpol.mscàLocal PoliciesàUser Rights Assignment

 

Additional Checklist before running the setup can be found here:

http://blogs.msdn.com/arvindsh/archive/2009/01/03/sql-server-2000-2005-failover-cluster-pre-installation-checklist.aspx

 

3.       Add the newly created account to the Local Administrator group on the nodes of the cluster. [This is not necessary if point#2 is followed].   

 

4.       Change SQL Server startup account on working node to newly created account.

 

5.       Once above is done, add the second node to an existing SQL instance using Add\Remove programs in control panel. More information about adding a node in a SQL Server 2005 failover cluster is given here:

How to: Add or Remove Nodes in a SQL Server 2005 Failover Cluster (Setup)

http://msdn.microsoft.com/en-us/library/ms191545(SQL.90).aspx

 

 

I hope this time the installation will be successful!!

 

 

Sumit Sarabhai
SE, Microsoft SQL Server. 

 

Reviewed by
Mukesh Nanda
Technical Lead, Microsoft SQL Server.

Rakesh Singh
Technical Lead, Microsoft SQL Server.